Mercurial > pidgin
comparison src/util.c @ 3890:271ca53950e6
[gaim-migrate @ 4042]
reap ALL children who are done instead of a single child. we used to do this before
sean removed the child-reaper jseymour and i worked out. thanks Paco-Paco
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Sun, 03 Nov 2002 21:59:05 +0000 |
| parents | 43e396e94095 |
| children | a611ec77d1d2 |
comparison
equal
deleted
inserted
replaced
| 3889:811329c423ca | 3890:271ca53950e6 |
|---|---|
| 646 { | 646 { |
| 647 #ifndef _WIN32 | 647 #ifndef _WIN32 |
| 648 int status; | 648 int status; |
| 649 pid_t pid; | 649 pid_t pid; |
| 650 | 650 |
| 651 pid = waitpid(-1, &status, 0); | 651 do { |
| 652 if(pid < 0 && errno != ECHILD) { | 652 pid = waitpid(-1, &status, WNOHANG); |
| 653 } while (pid > 0); | |
| 654 if(pid == (pid_t)-1 && errno != ECHILD) { | |
| 653 char errmsg[BUFSIZ]; | 655 char errmsg[BUFSIZ]; |
| 654 sprintf(errmsg, "Warning: waitpid() returned %d", pid); | 656 sprintf(errmsg, "Warning: waitpid() returned %d", pid); |
| 655 perror(errmsg); | 657 perror(errmsg); |
| 656 } | 658 } |
| 657 #endif | 659 #endif |
