Здраствуйте.
При приходе сигнала SIGCHLD родитель делает.
while ( waitpid( -1, &status, WNOHANG) > 0 );
Что довольно успешно работает и все ок.
Тут я захотел вывести в лог пиды детей которые умирают.
и добавил перед while'ом :
openlog ( "MyProg", 0, LOG_DAEMON );
syslog ( LOG_WARNING, "%s", strPid.c_str() );
closelog();
После чего родитель встопорился на данном этапе и не то что в лог ничего не пишет, дык и defunct висит + висит и сам родитель :\. Что тут такого противоестественного?
Спасибо.