wait

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;
}

反馈