Birden çok işlem sistemli bir Linux sisteminde V semaforları, semaforun çökmesine neden olan bir işlem varsa, bir semaforun "sıkışıp kalmasını" önleyen SEM_UNDO seçeneğine izin verir. Semaforu tutan bir süreçte POSIX semaforlarının bir çökme sonucu sıkışmasını önlemek için doğru yöntem nedir? Veya POSIX garanti garanti eder semafor bir kaza durumunda serbest bırakılır?Posix semaforları için Sys V SEM_UNDO eşdeğeri
6
A
cevap
-1
SIGSEGV için sinyal işleyicisini kullanabilir ve daha sonra sinyal işleyicinin kilidini açıp kaldırabilirsiniz.
// set handler
signal(SIGSEGV, handler);
void handler(int signum) {
// unlock the locked semaphores
signal(SIGSEGV, SIG_DFL);
}
İlgili konular
- 1. Python'un "perl -V" eşdeğeri nedir?
- 2. Posix
- 3. sys.stdout sys .__ stdout__ için yeniden atama
- 4. Windows'da POSIX Yolu İşlemleri için os.path kullanımı
- 5. POSIX zamanlayıcı ile sigev_notify = SIGEV_THREAD_ID yöntemi
- 6. Python: "import posix" sorusu
- 7. sh eşdeğeri __FILE__
- 8. Posix iş parçacığı öğretici
- 9. Sys/time.h pencerede nasıl kullanılır?
- 10. --ptxas-options = -v yorumlamasını yorumlama -v
- 11. ggplot için eğri() eşdeğeri
- 12. PHP için Autotest eşdeğeri?
- 13. + = önekleme için + = eşdeğeri
- 14. Thunderbird için Firebug eşdeğeri
- 15. MongoDB için Kibana eşdeğeri
- 16. 'pat2cwav' için Python eşdeğeri
- 17. V 1.0
- 18. v-for
- 19. HSSFWorkbook XSSFWorkbook v SXSSFWorkbook v - Apache POI
- 20. varchar (255) v tinyblob v tinytext
- 21. RubyGems + Cygwin: ruby.exe tarafından bulunmayan POSIX yolu
- 22. R ve Posix: .. kayıp bilgiler
- 23. S_ISREG() ve S_ISDIR() POSIX Makrolar nasıl kullanılır?
- 24. Cgroups/sys/fs/cgroup ubuntu üzerinde boştur
- 25. aşağıdaki özellik çözüldüğünde nasıl $ {sys: foo} Log4j2
- 26. sys ve os.sys arasındaki fark nedir
- 27. POSIX paylaşılan belleği yeniden boyutlandırın. Çalışan bir örnek
- 28. Javycript `Ruby`` için eşdeğeri` `gönder`
- 29. Kullanıcı eklemek için get_or_create eşdeğeri
- 30. XmlAttribute/XmlElement için JavaScript eşdeğeri
bu http://stackoverflow.com/questions/2053679/how-do-i-recover-a-semaphore-when-the-process-that-decremented-it-to-zero- tarafından cevap mı –
Evet ve hayır. POSIX semaforlarında bazı önemli kaynakların bir kaza sonucu belirsiz bir durumda bir şeyler bırakmasını umuyordum. Bu bağlantı kesinlikle böyle bir durumla başa çıkmanın bir yolunu sunuyor, ancak POSIX teknik özelliklerinden neyin gözüktüğünü açıklamaksızın. Sonunda SYS V semaforlarını kullandım, fakat POSIX'in neden bir çarpışmada muteksin tek mantıklı davranışı gibi göründüğünü bilmediğini merak ediyorum. – Joe
Eh: http://charette.no-ip.com:81/programming/2010-01-13_PosixSemaphores/ - ayrıca dosya kilitleme çözümünü kullanıyor. –