我正在使用boost::interprocess::named_upgradable_mutex
來同步幾個進程。interprocess :: named_upgradable_mutex - 如果進程死亡仍然鎖定
我使用boost::interprocess::sharable_lock
和boost::interprocess::scoped_lock
來鎖定互斥鎖。
測試同步時,只要進程正常工作並且正常關閉,就會顯示正常。
但是,我注意到,如果一個進程在保持互斥體時被殺死(例如通過TaskManager),互斥鎖將保持鎖定狀態。
任何想法如何我可以處理過程失敗?
我想過使用timed_lock()
以防萬一......其他想法?
在哪種情況下可以殺死一個進程,從而使整個程序實例被殺死? – curiousguy 2011-12-15 02:08:45
[boost進程間命名互斥鎖的可能重複仍然收購後崩潰](http://stackoverflow.com/questions/7808431/boost-interprocess-named-mutex-remains-acquired-after-a-crash) – 2011-12-15 02:16:12