我找不到如何与mq_timedreceive一起正常工作,有人可以给我一个例子吗?

ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr,
                   size_t msg_len, unsigned *msg_prio,
                   const struct timespec *abs_timeout);

我希望时间接收不要花费超过20秒的时间。

非常感谢你。

最佳答案

struct   timespec tm;

clock_gettime(CLOCK_REALTIME, &tm);
tm.tv_sec += 20;  // Set for 20 seconds
if( 0 > mq_timedreceive( fd, buf, 4096, NULL, &tm ) )  {
  ...
}

看一看完整的描述here

关于c - 示例mq_timedreceive,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30655148/

10-13 09:21