【发布时间】:2015-03-19 21:49:43
【问题描述】:
在具有多个进程的 Linux 系统中,system V 信号量允许使用 SEM_UNDO 选项,以防止在持有信号量的进程崩溃时使信号量“卡住”。防止 POSIX 信号量因持有信号量的进程崩溃而被卡住的正确方法是什么?或者 POSIX 是否保证在崩溃的情况下释放信号量?
【问题讨论】:
-
是和不是。我希望有一些关于 POSIX 信号量的权威来源,因为崩溃导致事情处于不确定状态。该链接当然提供了一种处理这种情况的方法,但没有解释为什么/如何似乎是 POSIX 规范的疏忽。我最后只使用了 SYS V 信号量,但我很想知道为什么 POSIX 不强制要求在崩溃中互斥锁的唯一合理行为。
-
好吧:charette.no-ip.com:81/programming/2010-01-13_PosixSemaphores - 也使用文件锁定解决方案。
-
该主题在以下问题的答案中进行辩论:stackoverflow.com/questions/368322/…
标签: c posix standards semaphore sysv-ipc