wait 方法用于阻塞执行调用的任务,直到有其他任务通过对同一事件标志实例调用 signal 释放此任务为止。
RiCOSResult RiCOSEventFlag_wait(
RiCOSEventFlag *const me, int tminms);
me
这是 RiCOSEventFlag 对象。
tmins
指定线程应保持处于受阻状态的时长(以毫秒为单位)。值为 –1 表示无限期地等待。
RiCOS*.h 文件中定义的 RiCOSResult 对象
RiCOSResult RiCOSEventFlag_wait(
RiCOSEventFlag * const me, int tminms)
{
if (me == NULL) {return 0 /*WAIT_FAILED*/;}
if (-1 == tminms) {
semTake(me->hEventFlag, WAIT_FOREVER);
}
else {
int ticks = cvrtTmInMStoTicks(tminms);
semTake(me->hEventFlag, ticks);
}
return (RiCOSResult)1;
}