Event loop: Free fds and fix race condition

This commit is contained in:
Ryan Dwyer 2018-10-14 23:59:51 +10:00
parent 6921fdc6d6
commit 893f61d03a

View file

@ -48,6 +48,7 @@ void loop_destroy(struct loop *loop) {
list_foreach(loop->timers, free); list_foreach(loop->timers, free);
list_free(loop->fd_events); list_free(loop->fd_events);
list_free(loop->timers); list_free(loop->timers);
free(loop->fds);
free(loop); free(loop);
} }
@ -66,6 +67,9 @@ void loop_poll(struct loop *loop) {
} }
} }
} }
if (ms < 0) {
ms = 0;
}
poll(loop->fds, loop->fd_length, ms); poll(loop->fds, loop->fd_length, ms);