summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/nfsd/nfsd.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/usr.sbin/nfsd/nfsd.c b/usr.sbin/nfsd/nfsd.c
index fcf53db..c8f3a42 100644
--- a/usr.sbin/nfsd/nfsd.c
+++ b/usr.sbin/nfsd/nfsd.c
@@ -658,6 +658,8 @@ main(argc, argv, envp)
if (select(maxsock + 1,
&ready, NULL, NULL, NULL) < 1) {
syslog(LOG_ERR, "select failed: %m");
+ if (errno == EINTR)
+ continue;
nfsd_exit(1);
}
}
@@ -668,6 +670,9 @@ main(argc, argv, envp)
if ((msgsock = accept(tcpsock,
(struct sockaddr *)&inetpeer, &len)) < 0) {
syslog(LOG_ERR, "accept failed: %m");
+ if (errno == ECONNABORTED ||
+ errno == EINTR)
+ continue;
nfsd_exit(1);
}
memset(inetpeer.sin_zero, 0,
@@ -688,6 +693,9 @@ main(argc, argv, envp)
&len)) < 0) {
syslog(LOG_ERR,
"accept failed: %m");
+ if (errno == ECONNABORTED ||
+ errno == EINTR)
+ continue;
nfsd_exit(1);
}
if (setsockopt(msgsock, SOL_SOCKET,
OpenPOWER on IntegriCloud