[so] De ce nu pot fi semafoare/mutex in signal handlers?

Mihnea Dobrescu-Balaur mihneadb at gmail.com
Thu Jun 6 21:30:34 EEST 2013


2013/6/6 Mihai Barbulescu <b12mihai at gmail.com>:
> 2013/6/6 Mihnea Dobrescu-Balaur <mihneadb at gmail.com>:
>> 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?)
>
> De acord.
>
>> 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. :)
>
> Multumesc, are sens si raspunde la intrebarea mea. Doream sa stiu _de
> ce_ se fac afirmatiile: "Now since a signal handler can't use
> semaphores, mutexes etc. and therefore can't access shared data " +
> "You shouldn't access shared data from signal handler"
>
> Una e cu can't (adica nu se poate deloc - ma indoiesc - cred ca se pot
> face apelurile) si alta e cu should not, adica recomandare din cauza a
> ceea ce ai zis tu.

Nu *cred* că gcc e atât de deștept cât să se prindă și să nu te lase.
De ce nu încerci? :)

--
Mihnea Dobrescu-Balaur


More information about the so mailing list