POSIX信号量:获取PID

| 是否可以在使用POSIX信号量的环境中模拟System V原语ѭ0? 如果无法实现,我正在寻找一种方法来知道谁对信号量执行了最后一次操作,我将进行更好的解释... 我正在开发带有预分支子代的UDP服务器。父亲处理SIGCHLD重生一个死去的孩子。如果孩子在关键部分死亡(即尚未完成sem_post任务),则父亲必须识别这种情况并解锁信号量。     
已邀请:
        您想要的东西无法完成。您可以通过基于POSIX健壮的互斥体编写自己的信号量来部分模拟行为(但是它会有一些缺点,例如不是异步信号安全的),或者您可以仅使用健壮的互斥体来代替信号量。     
        我认为这是不可能的。我看不到标准中提到的类似内容。最好的选择是确保应用程序没有理由死在关键部分。 您可能会考虑在每个信号量上附加一些状态信息(\“该信号量的最后一次DOWN是谁执行的?”)。但是,如果允许多个进程对信号量进行处理(信号量的起始值大于1),则必须同步更新信息的方式-返回平方。     

要回复问题请先登录注册