aboutsummaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2004-03-30 20:25:33 +0000
committerRobert Watson <rwatson@FreeBSD.org>2004-03-30 20:25:33 +0000
commit692c4b0985db3cfbbe639d1f388e1e713d2fd4d5 (patch)
treee122f86e124dd5f80c36dc4cbe4702cac188da5d /sbin
parent3c41ae2dcf5cfd277094a99cc0504198ef512f1b (diff)
Notes
Diffstat (limited to 'sbin')
-rw-r--r--sbin/nfsd/nfsd.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sbin/nfsd/nfsd.c b/sbin/nfsd/nfsd.c
index 2d923a42652b..fbea72e5ad35 100644
--- a/sbin/nfsd/nfsd.c
+++ b/sbin/nfsd/nfsd.c
@@ -588,6 +588,8 @@ main(argc, argv, envp)
if (select(maxsock + 1,
&ready, NULL, NULL, NULL) < 1) {
syslog(LOG_ERR, "select failed: %m");
+ if (errno == EINTR)
+ continue;
exit(1);
}
}
@@ -596,6 +598,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;
exit(1);
}
memset(inetpeer.sin_zero, 0, sizeof(inetpeer.sin_zero));
@@ -615,6 +620,9 @@ main(argc, argv, envp)
if ((msgsock = accept(tp4sock,
(struct sockaddr *)&isopeer, &len)) < 0) {
syslog(LOG_ERR, "accept failed: %m");
+ if (errno == ECONNABORTED ||
+ errno == EINTR)
+ continue;
exit(1);
}
if (setsockopt(msgsock, SOL_SOCKET,