mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
fix rare race condition that causes infinite loop
if we get a sigchld but all our children are gone by the time we get around to reaping them (i don't think this should ever happen, but it just did), then we'd loop forever trying to reap them. svn:r2141
This commit is contained in:
parent
6065f89544
commit
0c8542d889
@ -842,7 +842,7 @@ static int do_main_loop(void) {
|
|||||||
please_reset = 0;
|
please_reset = 0;
|
||||||
}
|
}
|
||||||
if(please_reap_children) {
|
if(please_reap_children) {
|
||||||
while(waitpid(-1,NULL,WNOHANG)) ; /* keep reaping until no more zombies */
|
while(waitpid(-1,NULL,WNOHANG) > 0) ; /* keep reaping until no more zombies */
|
||||||
please_reap_children = 0;
|
please_reap_children = 0;
|
||||||
}
|
}
|
||||||
#endif /* signal stuff */
|
#endif /* signal stuff */
|
||||||
|
Loading…
Reference in New Issue
Block a user