\hypertarget{unioncallback__u__t}{\section{callback\+\_\+u\+\_\+t Union Reference}
\label{unioncallback__u__t}\index{callback\+\_\+u\+\_\+t@{callback\+\_\+u\+\_\+t}}
}


Note\+: this file is a little fast-\/n-\/loose with O\+P\+A\+L\+\_\+\+H\+A\+V\+E\+\_\+\+T\+H\+R\+E\+A\+D\+S -- it uses this value in run-\/time \char`\"{}if\char`\"{} conditionals (vs.  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hypertarget{unioncallback__u__t_ab553d9486c989b5fd422f524aa302c8e}{ompi\+\_\+btl\+\_\+openib\+\_\+fd\+\_\+event\+\_\+callback\+\_\+fn\+\_\+t $\ast$ {\bfseries event}}\label{unioncallback__u__t_ab553d9486c989b5fd422f524aa302c8e}

\item 
\hypertarget{unioncallback__u__t_a1a3a970b2828773915c3c66fe69237bd}{ompi\+\_\+btl\+\_\+openib\+\_\+fd\+\_\+main\+\_\+callback\+\_\+fn\+\_\+t $\ast$ {\bfseries main}}\label{unioncallback__u__t_a1a3a970b2828773915c3c66fe69237bd}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Note\+: this file is a little fast-\/n-\/loose with O\+P\+A\+L\+\_\+\+H\+A\+V\+E\+\_\+\+T\+H\+R\+E\+A\+D\+S -- it uses this value in run-\/time \char`\"{}if\char`\"{} conditionals (vs. 

compile-\/time \#if conditionals). We also don't protect including $<$pthread.\+h$>$. That's because this component currently only compiles on Linux and Solaris, and both of these O\+S's have pthreads. Using the run-\/time conditionals gives us better compile-\/time checking, even of code that isn't activated.

Note, too, that the functionality in this file does {\itshape not} require all the heavyweight O\+M\+P\+I thread infrastructure (e.\+g., from --enable-\/mpi-\/thread-\/multiple or --enable-\/progress-\/threads). All work that is done in a separate progress thread is very carefully segregated from that of the main thread, and communication back to the main thread 

The documentation for this union was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
ompi/mca/btl/openib/btl\+\_\+openib\+\_\+fd.\+c\end{DoxyCompactItemize}
