Zpracovani signalu procesem
Michal Dobes
dobes na tesnet.cz
Středa Září 18 17:39:22 CEST 2002
Dalibor Toman wrote:
> Dotazy:
> - je normalni ze zaslani signalu na pid hlavniho procesu ma vliv na
> thready?
Ano. Normalni unix signaly nic o vlaknech netusi.
> Lze tomu nejak zabranit?
Ano.
man 3 pthread_sigmask
Kazde vlakno si muze rici, ktere signaly se ho tykaji.
Dalsi moznost pro tento pripad je definovat signal s SA_RESTART.
> - pokud v threadu signal prerusi recv() muze mit vliv na chovani
> threadu pri vstupu do zamklych kritickych sekci (pthread_mutex)?
Asi ne. Asi nejaka chybicka v aplikaci?
> - co muzu a co nesmim v obsluze odchyceneho signalu? (zapisuju do
> message logu syslogem)
To je jasne receno v POSIX.1 :-)
Muzete volat jen takove funkce, co jsou reentrantni (nemely by mit
staticke datove struktury, volat v sobe malloc/free atd).
A v pripade volani syslog si tim nejsem jist. Rozhodne standardni
I/O knihovna nezapada pod prvni zmineny pozadavek.
Pravdepodobne by bylo vhodne pouzit pri komplikaci -D_REENTRANT,
to by mohlo neco z toho osetrit.
Majkl
Další informace o konferenci Linux