0
如果一個進程的信號量的值從1遞減到0,如我的理解信號量的值保持後下山後異常終止爲0旗語值A的問題,如果一個進程遞減信號量的值
如果同樣的過程再次出現並試圖重新獲得相同的信號量,它將永遠阻塞。
如果我的進程異常下降,有沒有辦法在減少它之後將信號量值重置爲1?
如果一個進程的信號量的值從1遞減到0,如我的理解信號量的值保持後下山後異常終止爲0旗語值A的問題,如果一個進程遞減信號量的值
如果同樣的過程再次出現並試圖重新獲得相同的信號量,它將永遠阻塞。
如果我的進程異常下降,有沒有辦法在減少它之後將信號量值重置爲1?
我假設你使用標準的semctl()/ semop()API作爲信號量。
有一個名爲SEM_UNDO的標誌,告訴內核在過程終止時重置信號量的值。你需要在你的semop()調用中使用它。
更多的信息在這裏:http://beej.us/guide/bgipc/output/html/multipage/semaphores.html
非常感謝..它幫助我解決問題 – abc