prevent infinite loop in cleanup code for
io_close-with-outstanding-events-queued race prevention
This commit is contained in:
parent
5f9f1a2a62
commit
15f004df55
@ -123,12 +123,11 @@ int64 io_waituntil2(int64 milliseconds) {
|
||||
if (first_deferred!=-1) {
|
||||
while (first_deferred!=-1) {
|
||||
io_entry* e=iarray_get(&io_fds,first_deferred);
|
||||
if (e) {
|
||||
if (e->closed) {
|
||||
e->closed=0;
|
||||
close(first_deferred);
|
||||
}
|
||||
if (e && e->closed) {
|
||||
e->closed=0;
|
||||
close(first_deferred);
|
||||
first_deferred=e->next_defer;
|
||||
e->next_defer=-1;
|
||||
} else
|
||||
first_deferred=-1; // can't happen
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user