Update to FreeBSD head 2017-06-01

Git mirror commit dfb26efac4ce9101dda240e94d9ab53f80a9e131.

Update #3472.
This commit is contained in:
Sebastian Huber
2018-08-07 12:12:37 +02:00
parent a25e6a9d18
commit de261e0404
257 changed files with 3909 additions and 2604 deletions

View File

@@ -110,18 +110,19 @@ xprt_register(SVCXPRT *xprt)
rwlock_wrlock(&svc_fd_lock);
if (__svc_xports == NULL) {
__svc_xports = (SVCXPRT **)
mem_alloc(FD_SETSIZE * sizeof(SVCXPRT *));
mem_alloc((FD_SETSIZE + 1) * sizeof(SVCXPRT *));
if (__svc_xports == NULL) {
rwlock_unlock(&svc_fd_lock);
return;
}
memset(__svc_xports, '\0', FD_SETSIZE * sizeof(SVCXPRT *));
memset(__svc_xports, '\0', (FD_SETSIZE + 1) * sizeof(SVCXPRT *));
}
if (sock < FD_SETSIZE) {
__svc_xports[sock] = xprt;
FD_SET(sock, &svc_fdset);
svc_maxfd = max(svc_maxfd, sock);
}
} else if (sock == FD_SETSIZE)
__svc_xports[sock] = xprt;
rwlock_unlock(&svc_fd_lock);
}
@@ -159,7 +160,8 @@ __xprt_do_unregister(SVCXPRT *xprt, bool_t dolock)
if (__svc_xports[svc_maxfd])
break;
}
}
} else if ((sock == FD_SETSIZE) && (__svc_xports[sock] == xprt))
__svc_xports[sock] = NULL;
if (dolock)
rwlock_unlock(&svc_fd_lock);
}