X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=fd%2Ffd.c;h=e658c1d0498566282ca45d7a2d5adb4e683f64ea;hb=aa5cb9218724b9d3ee190b9b9c236991b8aca411;hp=ad4a8cabb37a4fa254e8cb59a3c581dfda1a348f;hpb=92a3e63dc3841c4daa05fc2a25635fe9afacf08f;p=tinc diff --git a/fd/fd.c b/fd/fd.c index ad4a8cab..e658c1d0 100644 --- a/fd/fd.c +++ b/fd/fd.c @@ -79,10 +79,14 @@ bool fd_del(struct fd *fd) { FD_CLR(fd->fd, &writeset); FD_CLR(fd->fd, &errorset); - if(fd->fd >= max_fd) - max_fd = ((struct fd *)fds->tail)->fd; + avl_del(fds, fd); - return avl_del(fds, fd); + if(fds->tail) + max_fd = ((struct fd *)fds->tail->data)->fd; + else + max_fd = 0; + + return true; }; bool fd_mod(struct fd *fd) {