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