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

Mihai Barbulescu b12mihai at gmail.com
Thu Jun 6 21:29:17 EEST 2013


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.

--
Cu stimă,
Mihai Bărbulescu


More information about the so mailing list