Po waitpid() _nekdy_ mam $? == -1
Jan Kasprzak
kas na fi.muni.cz
Pátek Říjen 2 09:51:00 CEST 2009
Honza Pazdziora wrote:
: Man perlvar rika:
:
: If you have installed a signal handler for "SIGCHLD",
: the value of $? will usually be wrong outside that handler.
:
: Neni to Tvuj pripad?
No, tohle jsem si vykladal jakoze se na hodnotu $? nemuzu
nadale spolehat kdyz opustim SIGCHLD handler, ale prece kdyz volam
waitpid bez WNOHANG, tak by ten handler vubec nemel prijit ke slovu, ne?
Navic teda pokud si predstavim jak je to implementovane,
tak nekde uvnitr se musi volat waitpid(2), ktere primo vraci jak
PID, tak to co se dostane do $?. Nedovedu si predstavit proc
by se mi melo vratit korektni PID a ne $?. Prece pokud by mezitim
prisel SIGCHLD, tak by jak PID, tak $? mel ziskat ten waitpid()
volany ze SIGCHLD handleru a v hlavnim kodu bych mel dostat
-EINTR nebo neco takoveho.
?
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
Please don't top post and in particular don't attach entire digests to your
mail or we'll all soon be using bittorrent to read the list. --Alan Cox
Další informace o konferenci Perl