\hypertarget{structevent__base}{\section{event\+\_\+base Struct Reference}
\label{structevent__base}\index{event\+\_\+base@{event\+\_\+base}}
}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
const struct \hyperlink{structeventop}{eventop} $\ast$ \hyperlink{structevent__base_a7869647e5bb9220fa71754f7c8cec0f5}{evsel}
\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} pointers and other data to describe this \hyperlink{structevent__base}{event\+\_\+base}'s backend. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{structevent__base_ac69c16250431b118d0f066244a67da56}{evbase}
\begin{DoxyCompactList}\small\item\em Pointer to backend-\/specific data. \end{DoxyCompactList}\item 
struct \hyperlink{structevent__changelist}{event\+\_\+changelist} \hyperlink{structevent__base_a91a445ff7af6e157a35b3b2276b5f1a2}{changelist}
\begin{DoxyCompactList}\small\item\em List of changes to tell backend about at next dispatch. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a285341f4e8ccdf6410ab60b5771f7ead}{const struct \hyperlink{structeventop}{eventop} $\ast$ \hyperlink{structevent__base_a285341f4e8ccdf6410ab60b5771f7ead}{evsigsel}}\label{structevent__base_a285341f4e8ccdf6410ab60b5771f7ead}

\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} pointers used to describe the backend that this \hyperlink{structevent__base}{event\+\_\+base} uses for signals. \end{DoxyCompactList}\item 
struct \hyperlink{structevsig__info}{evsig\+\_\+info} \hyperlink{structevent__base_a2c527510aa386e401fc762aad06ba2b0}{sig}
\begin{DoxyCompactList}\small\item\em Data to implement the common signal handelr code. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a7dbaee52e3b6cfb20464dc01b1cd0fb5}{int \hyperlink{structevent__base_a7dbaee52e3b6cfb20464dc01b1cd0fb5}{virtual\+\_\+event\+\_\+count}}\label{structevent__base_a7dbaee52e3b6cfb20464dc01b1cd0fb5}

\begin{DoxyCompactList}\small\item\em Number of virtual events. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_ad9cd3722457586263119c733a5a0c892}{int \hyperlink{structevent__base_ad9cd3722457586263119c733a5a0c892}{event\+\_\+count}}\label{structevent__base_ad9cd3722457586263119c733a5a0c892}

\begin{DoxyCompactList}\small\item\em Number of total events added to this \hyperlink{structevent__base}{event\+\_\+base}. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a9ac3284e0b7042748f8d17be5c9496ef}{int \hyperlink{structevent__base_a9ac3284e0b7042748f8d17be5c9496ef}{event\+\_\+count\+\_\+active}}\label{structevent__base_a9ac3284e0b7042748f8d17be5c9496ef}

\begin{DoxyCompactList}\small\item\em Number of total events active in this \hyperlink{structevent__base}{event\+\_\+base}. \end{DoxyCompactList}\item 
int \hyperlink{structevent__base_ad0ba443ffdcb681f0f578aae8957a133}{event\+\_\+gotterm}
\begin{DoxyCompactList}\small\item\em Set if we should terminate the loop once we're done processing events. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a62565fb082b09a6abf4a19141a1a7f77}{int \hyperlink{structevent__base_a62565fb082b09a6abf4a19141a1a7f77}{event\+\_\+break}}\label{structevent__base_a62565fb082b09a6abf4a19141a1a7f77}

\begin{DoxyCompactList}\small\item\em Set if we should terminate the loop immediately. \end{DoxyCompactList}\item 
int \hyperlink{structevent__base_ac2cc22f366389917edbb03ea55f2ccdd}{running\+\_\+loop}
\begin{DoxyCompactList}\small\item\em Set if we're running the event\+\_\+base\+\_\+loop function, to prevent reentrant invocation. \end{DoxyCompactList}\item 
struct event\+\_\+list $\ast$ \hyperlink{structevent__base_ad680c753f802ec77aa557ff499c3e5af}{activequeues}
\begin{DoxyCompactList}\small\item\em An array of nactivequeues queues for active events (ones that have triggered, and whose callbacks need to be called). \end{DoxyCompactList}\item 
\hypertarget{structevent__base_aa70c7838ca1f94ff8f78ebe7c2ae9584}{int \hyperlink{structevent__base_aa70c7838ca1f94ff8f78ebe7c2ae9584}{nactivequeues}}\label{structevent__base_aa70c7838ca1f94ff8f78ebe7c2ae9584}

\begin{DoxyCompactList}\small\item\em The length of the activequeues array. \end{DoxyCompactList}\item 
struct \hyperlink{structcommon__timeout__list}{common\+\_\+timeout\+\_\+list} $\ast$$\ast$ \hyperlink{structevent__base_a61faaab645b605d2d75ecd46fe5bced3}{common\+\_\+timeout\+\_\+queues}
\begin{DoxyCompactList}\small\item\em An array of common\+\_\+timeout\+\_\+list$\ast$ for all of the common timeout values we know. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a55163ed6c02c5605373e647d5d730f23}{int \hyperlink{structevent__base_a55163ed6c02c5605373e647d5d730f23}{n\+\_\+common\+\_\+timeouts}}\label{structevent__base_a55163ed6c02c5605373e647d5d730f23}

\begin{DoxyCompactList}\small\item\em The number of entries used in common\+\_\+timeout\+\_\+queues. \end{DoxyCompactList}\item 
int \hyperlink{structevent__base_a1c5d5d48448a6bed752381d847717368}{n\+\_\+common\+\_\+timeouts\+\_\+allocated}
\begin{DoxyCompactList}\small\item\em The total size of common\+\_\+timeout\+\_\+queues. \end{DoxyCompactList}\item 
struct \hyperlink{structdeferred__cb__queue}{deferred\+\_\+cb\+\_\+queue} \hyperlink{structevent__base_a0e08e5d7388a6cdf04fbaafecb6538c8}{defer\+\_\+queue}
\begin{DoxyCompactList}\small\item\em List of defered\+\_\+cb that are active. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a8570aaf68a16863aa88fd99bad159295}{struct event\+\_\+io\+\_\+map \hyperlink{structevent__base_a8570aaf68a16863aa88fd99bad159295}{io}}\label{structevent__base_a8570aaf68a16863aa88fd99bad159295}

\begin{DoxyCompactList}\small\item\em Mapping from file descriptors to enabled (added) events. \end{DoxyCompactList}\item 
struct \hyperlink{structevent__signal__map}{event\+\_\+signal\+\_\+map} \hyperlink{structevent__base_adb0f80f46fb3cd2385286c819aeaff9d}{sigmap}
\begin{DoxyCompactList}\small\item\em Mapping from signal numbers to enabled (added) events. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a842975e80173691d95866570de8acc1c}{struct event\+\_\+list \hyperlink{structevent__base_a842975e80173691d95866570de8acc1c}{eventqueue}}\label{structevent__base_a842975e80173691d95866570de8acc1c}

\begin{DoxyCompactList}\small\item\em All events that have been enabled (added) in this \hyperlink{structevent__base}{event\+\_\+base}. \end{DoxyCompactList}\item 
struct timeval \hyperlink{structevent__base_a637c36ebd6f8836f8fee27692a995e5a}{event\+\_\+tv}
\begin{DoxyCompactList}\small\item\em Stored timeval; used to detect when time is running backwards. \end{DoxyCompactList}\item 
struct \hyperlink{structmin__heap}{min\+\_\+heap} \hyperlink{structevent__base_adfa5c317ea20aba5fa63fd4775c2510c}{timeheap}
\begin{DoxyCompactList}\small\item\em Priority queue of events with timeouts. \end{DoxyCompactList}\item 
struct timeval \hyperlink{structevent__base_ade376556c650f951dbc9d579a4000820}{tv\+\_\+cache}
\begin{DoxyCompactList}\small\item\em Stored timeval\+: used to avoid calling gettimeofday/clock\+\_\+gettime too often. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a682f91c9b37014305643962874b0b407}{unsigned long \hyperlink{structevent__base_a682f91c9b37014305643962874b0b407}{th\+\_\+owner\+\_\+id}}\label{structevent__base_a682f91c9b37014305643962874b0b407}

\begin{DoxyCompactList}\small\item\em The thread currently running the event\+\_\+loop for this base. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_ae32a6810bcc12f942954b06e7393495f}{void $\ast$ \hyperlink{structevent__base_ae32a6810bcc12f942954b06e7393495f}{th\+\_\+base\+\_\+lock}}\label{structevent__base_ae32a6810bcc12f942954b06e7393495f}

\begin{DoxyCompactList}\small\item\em A lock to prevent conflicting accesses to this \hyperlink{structevent__base}{event\+\_\+base}. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a86729f095555b3b4e0a10c20c7ee3f4b}{struct \hyperlink{structevent}{event} $\ast$ \hyperlink{structevent__base_a86729f095555b3b4e0a10c20c7ee3f4b}{current\+\_\+event}}\label{structevent__base_a86729f095555b3b4e0a10c20c7ee3f4b}

\begin{DoxyCompactList}\small\item\em The event whose callback is executing right now. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{structevent__base_a9552e59d24e61ca46f253fc1c412072a}{current\+\_\+event\+\_\+cond}
\begin{DoxyCompactList}\small\item\em A condition that gets signalled when we're done processing an event with waiters on it. \end{DoxyCompactList}\item 
int \hyperlink{structevent__base_ae9d144a390562f68abad627b36c871f2}{current\+\_\+event\+\_\+waiters}
\begin{DoxyCompactList}\small\item\em Number of threads blocking on current\+\_\+event\+\_\+cond. \end{DoxyCompactList}\item 
\hypertarget{structevent__base_a006428a1561abfb5709615c077022948}{enum \hyperlink{libevent2013_2libevent_2include_2event2_2event_8h_acfef69af45abee54725f40f7f29986c5}{event\+\_\+base\+\_\+config\+\_\+flag} \hyperlink{structevent__base_a006428a1561abfb5709615c077022948}{flags}}\label{structevent__base_a006428a1561abfb5709615c077022948}

\begin{DoxyCompactList}\small\item\em Flags that this base was configured with. \end{DoxyCompactList}\item 
int \hyperlink{structevent__base_a81e1d6dbea69fe075ace12211469d8de}{is\+\_\+notify\+\_\+pending}
\begin{DoxyCompactList}\small\item\em True if the base already has a pending notify, and we don't need to add any more. \end{DoxyCompactList}\item 
\hyperlink{opal_2mca_2event_2libevent2013_2libevent_2include_2event2_2util_8h_a7ef0023565082a65020f6e56be59fd0b}{evutil\+\_\+socket\+\_\+t} \hyperlink{structevent__base_aa712346eb14b04665a4b19292c75dea5}{th\+\_\+notify\+\_\+fd} \mbox{[}2\mbox{]}
\begin{DoxyCompactList}\small\item\em A socketpair used by some th\+\_\+notify functions to wake up the main thread. \end{DoxyCompactList}\item 
struct \hyperlink{structevent}{event} \hyperlink{structevent__base_a3ce8b297e9c64d42e2d00be80ffb4d28}{th\+\_\+notify}
\begin{DoxyCompactList}\small\item\em An event used by some th\+\_\+notify functions to wake up the main thread. \end{DoxyCompactList}\item 
int($\ast$ \hyperlink{structevent__base_af298f75531574e14be75089f58b3de57}{th\+\_\+notify\+\_\+fn} )(struct \hyperlink{structevent__base}{event\+\_\+base} $\ast$base)
\begin{DoxyCompactList}\small\item\em A function used to wake up the main thread from another thread. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Field Documentation}
\hypertarget{structevent__base_ad680c753f802ec77aa557ff499c3e5af}{\index{event\+\_\+base@{event\+\_\+base}!activequeues@{activequeues}}
\index{activequeues@{activequeues}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{activequeues}]{\setlength{\rightskip}{0pt plus 5cm}struct event\+\_\+list$\ast$ event\+\_\+base\+::activequeues}}\label{structevent__base_ad680c753f802ec77aa557ff499c3e5af}


An array of nactivequeues queues for active events (ones that have triggered, and whose callbacks need to be called). 

Low priority numbers are more important, and stall higher ones. 

Referenced by event\+\_\+base\+\_\+free(), and event\+\_\+base\+\_\+priority\+\_\+init().

\hypertarget{structevent__base_a91a445ff7af6e157a35b3b2276b5f1a2}{\index{event\+\_\+base@{event\+\_\+base}!changelist@{changelist}}
\index{changelist@{changelist}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{changelist}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf event\+\_\+changelist} event\+\_\+base\+::changelist}}\label{structevent__base_a91a445ff7af6e157a35b3b2276b5f1a2}


List of changes to tell backend about at next dispatch. 

Only used by the O(1) backends. 

Referenced by event\+\_\+base\+\_\+free(), event\+\_\+base\+\_\+new\+\_\+with\+\_\+config(), and event\+\_\+reinit().

\hypertarget{structevent__base_a61faaab645b605d2d75ecd46fe5bced3}{\index{event\+\_\+base@{event\+\_\+base}!common\+\_\+timeout\+\_\+queues@{common\+\_\+timeout\+\_\+queues}}
\index{common\+\_\+timeout\+\_\+queues@{common\+\_\+timeout\+\_\+queues}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{common\+\_\+timeout\+\_\+queues}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf common\+\_\+timeout\+\_\+list}$\ast$$\ast$ event\+\_\+base\+::common\+\_\+timeout\+\_\+queues}}\label{structevent__base_a61faaab645b605d2d75ecd46fe5bced3}


An array of common\+\_\+timeout\+\_\+list$\ast$ for all of the common timeout values we know. 



Referenced by event\+\_\+base\+\_\+free(), and event\+\_\+base\+\_\+init\+\_\+common\+\_\+timeout().

\hypertarget{structevent__base_a9552e59d24e61ca46f253fc1c412072a}{\index{event\+\_\+base@{event\+\_\+base}!current\+\_\+event\+\_\+cond@{current\+\_\+event\+\_\+cond}}
\index{current\+\_\+event\+\_\+cond@{current\+\_\+event\+\_\+cond}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{current\+\_\+event\+\_\+cond}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ event\+\_\+base\+::current\+\_\+event\+\_\+cond}}\label{structevent__base_a9552e59d24e61ca46f253fc1c412072a}


A condition that gets signalled when we're done processing an event with waiters on it. 



Referenced by event\+\_\+base\+\_\+free(), and event\+\_\+base\+\_\+new\+\_\+with\+\_\+config().

\hypertarget{structevent__base_ae9d144a390562f68abad627b36c871f2}{\index{event\+\_\+base@{event\+\_\+base}!current\+\_\+event\+\_\+waiters@{current\+\_\+event\+\_\+waiters}}
\index{current\+\_\+event\+\_\+waiters@{current\+\_\+event\+\_\+waiters}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{current\+\_\+event\+\_\+waiters}]{\setlength{\rightskip}{0pt plus 5cm}int event\+\_\+base\+::current\+\_\+event\+\_\+waiters}}\label{structevent__base_ae9d144a390562f68abad627b36c871f2}


Number of threads blocking on current\+\_\+event\+\_\+cond. 

\hypertarget{structevent__base_a0e08e5d7388a6cdf04fbaafecb6538c8}{\index{event\+\_\+base@{event\+\_\+base}!defer\+\_\+queue@{defer\+\_\+queue}}
\index{defer\+\_\+queue@{defer\+\_\+queue}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{defer\+\_\+queue}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf deferred\+\_\+cb\+\_\+queue} event\+\_\+base\+::defer\+\_\+queue}}\label{structevent__base_a0e08e5d7388a6cdf04fbaafecb6538c8}


List of defered\+\_\+cb that are active. 

We run these after the active events. 

Referenced by event\+\_\+base\+\_\+new\+\_\+with\+\_\+config().

\hypertarget{structevent__base_ac69c16250431b118d0f066244a67da56}{\index{event\+\_\+base@{event\+\_\+base}!evbase@{evbase}}
\index{evbase@{evbase}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{evbase}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ event\+\_\+base\+::evbase}}\label{structevent__base_ac69c16250431b118d0f066244a67da56}


Pointer to backend-\/specific data. 



Referenced by event\+\_\+base\+\_\+new\+\_\+with\+\_\+config(), and event\+\_\+reinit().

\hypertarget{structevent__base_ad0ba443ffdcb681f0f578aae8957a133}{\index{event\+\_\+base@{event\+\_\+base}!event\+\_\+gotterm@{event\+\_\+gotterm}}
\index{event\+\_\+gotterm@{event\+\_\+gotterm}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{event\+\_\+gotterm}]{\setlength{\rightskip}{0pt plus 5cm}int event\+\_\+base\+::event\+\_\+gotterm}}\label{structevent__base_ad0ba443ffdcb681f0f578aae8957a133}


Set if we should terminate the loop once we're done processing events. 



Referenced by event\+\_\+base\+\_\+got\+\_\+exit(), and event\+\_\+base\+\_\+loop().

\hypertarget{structevent__base_a637c36ebd6f8836f8fee27692a995e5a}{\index{event\+\_\+base@{event\+\_\+base}!event\+\_\+tv@{event\+\_\+tv}}
\index{event\+\_\+tv@{event\+\_\+tv}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{event\+\_\+tv}]{\setlength{\rightskip}{0pt plus 5cm}struct timeval event\+\_\+base\+::event\+\_\+tv}}\label{structevent__base_a637c36ebd6f8836f8fee27692a995e5a}


Stored timeval; used to detect when time is running backwards. 



Referenced by event\+\_\+base\+\_\+loop(), and event\+\_\+base\+\_\+new\+\_\+with\+\_\+config().

\hypertarget{structevent__base_a7869647e5bb9220fa71754f7c8cec0f5}{\index{event\+\_\+base@{event\+\_\+base}!evsel@{evsel}}
\index{evsel@{evsel}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{evsel}]{\setlength{\rightskip}{0pt plus 5cm}const struct {\bf eventop}$\ast$ event\+\_\+base\+::evsel}}\label{structevent__base_a7869647e5bb9220fa71754f7c8cec0f5}


\hyperlink{structFunction}{Function} pointers and other data to describe this \hyperlink{structevent__base}{event\+\_\+base}'s backend. 



Referenced by event\+\_\+base\+\_\+free(), event\+\_\+base\+\_\+get\+\_\+features(), event\+\_\+base\+\_\+get\+\_\+method(), event\+\_\+base\+\_\+loop(), event\+\_\+base\+\_\+new\+\_\+with\+\_\+config(), event\+\_\+reinit(), evmap\+\_\+io\+\_\+add(), evmap\+\_\+io\+\_\+del(), and evthread\+\_\+make\+\_\+base\+\_\+notifiable().

\hypertarget{structevent__base_a81e1d6dbea69fe075ace12211469d8de}{\index{event\+\_\+base@{event\+\_\+base}!is\+\_\+notify\+\_\+pending@{is\+\_\+notify\+\_\+pending}}
\index{is\+\_\+notify\+\_\+pending@{is\+\_\+notify\+\_\+pending}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{is\+\_\+notify\+\_\+pending}]{\setlength{\rightskip}{0pt plus 5cm}int event\+\_\+base\+::is\+\_\+notify\+\_\+pending}}\label{structevent__base_a81e1d6dbea69fe075ace12211469d8de}


True if the base already has a pending notify, and we don't need to add any more. 

\hypertarget{structevent__base_a1c5d5d48448a6bed752381d847717368}{\index{event\+\_\+base@{event\+\_\+base}!n\+\_\+common\+\_\+timeouts\+\_\+allocated@{n\+\_\+common\+\_\+timeouts\+\_\+allocated}}
\index{n\+\_\+common\+\_\+timeouts\+\_\+allocated@{n\+\_\+common\+\_\+timeouts\+\_\+allocated}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{n\+\_\+common\+\_\+timeouts\+\_\+allocated}]{\setlength{\rightskip}{0pt plus 5cm}int event\+\_\+base\+::n\+\_\+common\+\_\+timeouts\+\_\+allocated}}\label{structevent__base_a1c5d5d48448a6bed752381d847717368}


The total size of common\+\_\+timeout\+\_\+queues. 



Referenced by event\+\_\+base\+\_\+init\+\_\+common\+\_\+timeout().

\hypertarget{structevent__base_ac2cc22f366389917edbb03ea55f2ccdd}{\index{event\+\_\+base@{event\+\_\+base}!running\+\_\+loop@{running\+\_\+loop}}
\index{running\+\_\+loop@{running\+\_\+loop}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{running\+\_\+loop}]{\setlength{\rightskip}{0pt plus 5cm}int event\+\_\+base\+::running\+\_\+loop}}\label{structevent__base_ac2cc22f366389917edbb03ea55f2ccdd}


Set if we're running the event\+\_\+base\+\_\+loop function, to prevent reentrant invocation. 



Referenced by event\+\_\+base\+\_\+loop().

\hypertarget{structevent__base_a2c527510aa386e401fc762aad06ba2b0}{\index{event\+\_\+base@{event\+\_\+base}!sig@{sig}}
\index{sig@{sig}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{sig}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf evsig\+\_\+info} event\+\_\+base\+::sig}}\label{structevent__base_a2c527510aa386e401fc762aad06ba2b0}


Data to implement the common signal handelr code. 



Referenced by event\+\_\+base\+\_\+loop(), event\+\_\+base\+\_\+new\+\_\+with\+\_\+config(), and event\+\_\+reinit().

\hypertarget{structevent__base_adb0f80f46fb3cd2385286c819aeaff9d}{\index{event\+\_\+base@{event\+\_\+base}!sigmap@{sigmap}}
\index{sigmap@{sigmap}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{sigmap}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf event\+\_\+signal\+\_\+map} event\+\_\+base\+::sigmap}}\label{structevent__base_adb0f80f46fb3cd2385286c819aeaff9d}


Mapping from signal numbers to enabled (added) events. 



Referenced by event\+\_\+base\+\_\+free(), event\+\_\+base\+\_\+new\+\_\+with\+\_\+config(), and event\+\_\+reinit().

\hypertarget{structevent__base_a3ce8b297e9c64d42e2d00be80ffb4d28}{\index{event\+\_\+base@{event\+\_\+base}!th\+\_\+notify@{th\+\_\+notify}}
\index{th\+\_\+notify@{th\+\_\+notify}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{th\+\_\+notify}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf event} event\+\_\+base\+::th\+\_\+notify}}\label{structevent__base_a3ce8b297e9c64d42e2d00be80ffb4d28}


An event used by some th\+\_\+notify functions to wake up the main thread. 



Referenced by event\+\_\+base\+\_\+free(), event\+\_\+reinit(), and evthread\+\_\+make\+\_\+base\+\_\+notifiable().

\hypertarget{structevent__base_aa712346eb14b04665a4b19292c75dea5}{\index{event\+\_\+base@{event\+\_\+base}!th\+\_\+notify\+\_\+fd@{th\+\_\+notify\+\_\+fd}}
\index{th\+\_\+notify\+\_\+fd@{th\+\_\+notify\+\_\+fd}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{th\+\_\+notify\+\_\+fd}]{\setlength{\rightskip}{0pt plus 5cm}{\bf evutil\+\_\+socket\+\_\+t} event\+\_\+base\+::th\+\_\+notify\+\_\+fd\mbox{[}2\mbox{]}}}\label{structevent__base_aa712346eb14b04665a4b19292c75dea5}


A socketpair used by some th\+\_\+notify functions to wake up the main thread. 



Referenced by event\+\_\+base\+\_\+free(), event\+\_\+base\+\_\+new\+\_\+with\+\_\+config(), event\+\_\+reinit(), and evthread\+\_\+make\+\_\+base\+\_\+notifiable().

\hypertarget{structevent__base_af298f75531574e14be75089f58b3de57}{\index{event\+\_\+base@{event\+\_\+base}!th\+\_\+notify\+\_\+fn@{th\+\_\+notify\+\_\+fn}}
\index{th\+\_\+notify\+\_\+fn@{th\+\_\+notify\+\_\+fn}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{th\+\_\+notify\+\_\+fn}]{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ event\+\_\+base\+::th\+\_\+notify\+\_\+fn)(struct {\bf event\+\_\+base} $\ast$base)}}\label{structevent__base_af298f75531574e14be75089f58b3de57}


A function used to wake up the main thread from another thread. 



Referenced by evthread\+\_\+make\+\_\+base\+\_\+notifiable().

\hypertarget{structevent__base_adfa5c317ea20aba5fa63fd4775c2510c}{\index{event\+\_\+base@{event\+\_\+base}!timeheap@{timeheap}}
\index{timeheap@{timeheap}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{timeheap}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf min\+\_\+heap} event\+\_\+base\+::timeheap}}\label{structevent__base_adfa5c317ea20aba5fa63fd4775c2510c}


Priority queue of events with timeouts. 



Referenced by event\+\_\+base\+\_\+free(), and event\+\_\+base\+\_\+new\+\_\+with\+\_\+config().

\hypertarget{structevent__base_ade376556c650f951dbc9d579a4000820}{\index{event\+\_\+base@{event\+\_\+base}!tv\+\_\+cache@{tv\+\_\+cache}}
\index{tv\+\_\+cache@{tv\+\_\+cache}!event\+\_\+base@{event\+\_\+base}}
\subsubsection[{tv\+\_\+cache}]{\setlength{\rightskip}{0pt plus 5cm}struct timeval event\+\_\+base\+::tv\+\_\+cache}}\label{structevent__base_ade376556c650f951dbc9d579a4000820}


Stored timeval\+: used to avoid calling gettimeofday/clock\+\_\+gettime too often. 



Referenced by event\+\_\+base\+\_\+gettimeofday\+\_\+cached().



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
opal/mca/event/libevent2013/libevent/event-\/internal.\+h\end{DoxyCompactItemize}
