1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
<!--plsfield:text-->
<HTML><HEAD>
<TITLE>C API Reference -- Ns_WaitForEvent</TITLE>
<LINK rel=Previous href="c-ch428.htm">
<LINK rel=ToC href="toc.htm">
<LINK rel=Index href="master.htm">
<LINK rel=Next href="c-ch430.htm">
</HEAD><BODY BGCOLOR="#ffffff"><A NAME="topofpage"></A>
<TABLE WIDTH=100%>
<TR>
<TD ALIGN=LEFT>
<A NAME="topofpage"></A> <IMG SRC="as-c-sm.gif">
</TD>
<TD ALIGN=RIGHT>
<A href="c-ch428.htm"><IMG BORDER="0" src=navbprev.gif alt="[ Previous ]"></A>
<A href=toc.htm> <IMG BORDER="0" src=navbhome.gif alt="[ Contents ]"></A>
<A href=master.htm> <IMG BORDER="0" src=navbhelp.gif alt="[ Index ]"></A>
<A href="c-ch430.htm"> <IMG BORDER="0" src=navbnext.gif alt="[ Next ]"></A>
<A name="7983"> </A>
</TD>
</TR>
</TABLE>
<a name="71864">
</a><h3>Ns_WaitForEvent</h3>
<a name="133570">
</a><h4>Overview</h4>
Wait for an event
<a name="133575">
</a><a name="133572">
</a><h4>Syntax</h4>
<pre> <a name="71866"></a>int Ns_WaitForEvent(
<a name="71867"></a>Ns_Event * event,
<a name="71868"></a>Ns_Mutex * lock
<a name="71869"></a>);
</pre><p><a name="134950">
</a><h4>Description</h4>
<p><a name="214169">
</a>Unlock the lock and wait for the event. This function blocks the current thread's execution until the event has been set and it can reacquire the lock. The mutex lock is locked before and after the call.</p>
<a name="214176">
</a><h4>Examples</h4>
<pre> <a name="214174"></a>static int ready = 0;
<a name="214184"></a>static Ns_Event ev;
<a name="214185"></a>static Ns_Mutex lock;
<a name="214186"></a>
<a name="214187"></a>void
<a name="214188"></a>Init(void)
<a name="214189"></a>{
<a name="214190"></a> Ns_InitializeMutex(&lock);
<a name="214191"></a> Ns_InitializeEvent(&ev);
<a name="214192"></a>}
<a name="214193"></a>
<a name="214194"></a>void
<a name="214195"></a>Waiter(void)
<a name="214196"></a>{
<a name="214197"></a> Ns_LockMutex(&lock);
<a name="214198"></a> if (!ready) {
<a name="214199"></a> Ns_WaitForEvent(&ev, &lock);
<a name="214200"></a> }
<a name="214201"></a> Ns_UnlockMutex(&lock);
<a name="214202"></a> ... resource ready ...
<a name="214203"></a>}
</pre><p>
<TABLE BORDER="2" CELLPADDING="1" width="100%">
<TR><TD COLSPAN=3><P ALIGN=Center>
<IMG SRC="bluebult.gif">
<A HREF="#topofpage">
<FONT SIZE=-1>Top of Page</FONT></A>
<IMG SRC="bluebult.gif">
</TD></TR>
<TR><TD COLSPAN=3><P ALIGN=Center>
<A href="c-ch428.htm">
<IMG BORDER="0" src=navbprev.gif alt="[ Previous ]"></A>
<A href=toc.htm>
<IMG BORDER="0" src=navbhome.gif alt="[ Contents ]"></A>
<A href=master.htm>
<IMG BORDER="0" src=navbhelp.gif alt="[ Index ]"></A>
<A href="c-ch430.htm">
<IMG BORDER="0" src=navbnext.gif alt="[ Next ]"></A>
<BR align=center>
<FONT size=-1>Copyright © 1998-99 America Online,
Inc.</FONT>
</TD></TR></TABLE></BODY></HTML><!--plsfield:end-->
|