遇到问题的答案追查到SIGEV_THREAD的使用...并行线程SIGEV_THREAD和异步安全的函数调用
当一个集SIGEV_THREAD中的sigevent结构的通知方法,是正确的假设,异步信号安全函数必须仍然在notify_function中作为处理程序被调用?
另外 - 假设线程运行为“分离”是否正确?
例如
通知线程
void my_thread(union sigval my_data)
{
// is this ok or not (two non async-signal-safe functions)?
printf("in the notify function\n");
mq_send();
}
主要功能
(...)
se.sigev_notify = SIGEV_THREAD;
se.sigev_value.sival_ptr = &my_data;
se.sigev_notify_function = my_thread;
se.sigev_notify_attributes = NULL;
(...)
如果可能的话请提供一个参考。
“* asynch-save *”的意思是“* asnch-signal-save *”?如果是:No. – alk
@alk - 你有什么参考? –
请参阅下面的* caf *的答案。 – alk