Zpracovani signalu procesem
Dalibor Toman
dtoman na fortech.cz
Čtvrtek Září 19 16:54:43 CEST 2002
> > - 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?
podarilo se mi to, zda se, problemy eliminovat tim, ze vlastni akce
na signal je opozdena (bezprostredne se nastavi jen nejaky flag a
pozdeji thread co jej sleduje provede co je treba)
> > - 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).
malloc neni reentrantni? Tim je to jasne. Volana rutina manipuluje se
stringy
(formatovani vystupu) a alokuje/realokuje pro ne pamet.
> 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.
hmm. radeji jsem to puvodne nepsal - utilitka neni psana v
Ccku (nekamenovat please) ani v C++ - nybrz v Kylixu :-)
D. Toman
Další informace o konferenci Linux