[so] De ce nu pot fi semafoare/mutex in signal handlers?
Mihnea Dobrescu-Balaur
mihneadb at gmail.com
Thu Jun 6 21:23:34 EEST 2013
2013/6/6 Mihnea Dobrescu-Balaur <mihneadb at gmail.com>:
> 2013/6/6 Mihai Barbulescu <b12mihai at gmail.com>:
>> Salut,
>>
>> M-a intrigat un post gasit pe stackoverflow [1] in care cel care
>> intreaba spune ca mutex si semafoare nu pot fi folosite in signal
>> handlers. De asemenea in raspuns se recomanda sa nu fie accesata
>> memoria partajata dintr-un handler de semnal.
>>
>> Am incercat sa ma gandesc la orice si nu imi vine in minte nici un
>> raspuns. Ma ajutati, va rog, macar cu niste hinturi?
>>
>> [1] http://stackoverflow.com/questions/8492208/reading-shared-data-inside-a-signal-handler
>
> Poate nu ți-am înțeles eu întrebarea, dar cred că răspunsurile le ai
> în comentariile aferente întrebării :).
Sau ca să nu trimit un mail aproape gol, încerc o explicație:
Premisa de la care pleci este că vrei să accesezi/modifici date la
comun cu procesul dintr-un SH (altfel nu ai mai avea nevoie de mutex,
nu?)
Ce se întâmplă dacă procesul (în flow-ul normal) face acquire, și
”boom!” vine semnalul? SH-ul va încerca și el să facă acquire.
Deadlock și adio. :)
--
Mihnea Dobrescu-Balaur
More information about the so
mailing list