It used to be guaranteed by the polling functions on a later call but
with concurrent accesses it cannot be granted anymore.
{
fdtab[fd].ev = 0;
fdtab[fd].new = 1;
+ fdtab[fd].updated = 0;
fdtab[fd].linger_risk = 0;
fdtab[fd].cloned = 0;
if (fd + 1 > maxfd)
port_range_release_port(fdinfo[fd].port_range, fdinfo[fd].local_port);
fdinfo[fd].port_range = NULL;
- if (do_close)
- close(fd);
fdtab[fd].owner = NULL;
+ fdtab[fd].updated = 0;
fdtab[fd].new = 0;
+ if (do_close)
+ close(fd);
while ((maxfd-1 >= 0) && !fdtab[maxfd-1].owner)
maxfd--;