\rhead{\bf mc\_CondSignal()}
\noindent
\vspace{5pt}
\rule{6.5in}{0.015in}
\noindent
\phantomsection
{\LARGE \bf mc\_CondSignal()\index{mc\_CondSignal()}}\\
\addcontentsline{toc}{section}{mc\_CondSignal()}
\label{api:mc_CondSignal()}

\noindent
{\bf Synopsis}\\
%{\bf \#include $<$mobilec.h$>$}\\
{\bf int mc\_CondSignal}({\bf int} $id$);\\

\noindent
{\bf Purpose}\\
Signal another mobile agent which is waiting on a condition variable.\\

\noindent
{\bf Return Value}\\
This function returns 0 if the condition variable is successfully found and
signalled.
It returns non-zero if the condition variable was not found.\\

\noindent
{\bf Parameters}
\vspace{-0.1in}
\begin{description}
\item
\begin{tabular}{p{10 mm}p{145 mm}}
$id$ & The id of the condition variable to signal.
\end{tabular}
\end{description}

\noindent
{\bf Description}\\
This function is used to signal another mobile agent or thread that is 
waiting on a Mobile-C condition variable. 
The function that calls {\bf mc\_CondSignal()} must know beforehand the id of 
the condition variable an agent may be waiting on.
Note that although a MobileC synchronization variable may act as a mutex, 
condition variable, or semaphore, once it is used as a condition variable,
it should only be used as a condition variable for the remainder of it's 
life cycle.\\

\noindent
{\bf Example}\\
\noindent
See Program \vref{prog:cond_agent_1} and Program
\vref{prog:cond_agent_2} in Chapter \ref{chap:synchronization}.\\
\noindent
{\bf See Also}\\
mc\_CondDelete(), mc\_CondInit(), mc\_CondSignal().\\

%\CPlot::\DataThreeD(), \CPlot::\DataFile(), \CPlot::\Plotting(), \plotxy().\\
