Ionuț-Gabriel Radu <[email protected]> writes: > Am observat o neconcordanță între curs și laborator în legătură cu ce > partajează firele de execuție și ce nu partajează firele de execuție. > > În curs, la pagina 15, se specifică faptul că masca de semnale este per > proces, iar în slideul introductiv laboratorului 8 la pagina 2 scrie că > masca de semnale este informație proprie firului de execuție.
Am șters din slide "masca de semnale". După cum spune în pagina de manual (man 7 signal)[1]: --- Each thread in a process has an independent signal mask, which indicates the set of signals that the thread is currently blocking. A thread can manipulate its signal mask using pthread_sigmask(3). In a traditional single-threaded application, sigprocmask(2) can be used to manipulate the signal mask. --- Asta înseamnă că există o mască de semnale pe thread și este folosită cu pthread_sigmask(3). Dacă, însă, folosești sigprocmask(2), atunci gestionezi masca de semnale a întregului proces. Adică, depinzând de API, poți folosi fie masca de semnale per thread, fie cea a procesului. Există un nivel de ambiguitate în a spune că thread-urile partajează sau nu masca de semnale. Nu există, însă, nici o ambiguitate în a spune că există o mască de semnale per thread. [1] http://www.kernel.org/doc/man-pages/online/pages/man7/signal.7.html Răzvan _______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
