是mq_sendprimefaces?

任何人都可以告诉我,如果multithreading程序在执行mq_send期间收到SIGSTOP信号,会发生什么情况?

mq_send的手册页表明它是在mq_timedsend之上实现的,这是Linux中的一个系统调用。 系统调用通常是原子的,因为它们要么成功,要么不成功。 如果一个系统调用被信号中断,通常的行为是返回-1并将errnoEINTR 。 它看起来像mq_send有这种行为。

基本上,您应该检查EINTR ,如果以这种方式失败,请重试呼叫。 这对可能阻塞recvselect系统调用尤其重要,因为它们被中断的可能性较高。