summaryrefslogtreecommitdiff
path: root/sys/nfsclient/nfs_socket.c
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>1999-09-29 15:03:48 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>1999-09-29 15:03:48 +0000
commit2c42a1460203c03abbbcefec9fc4d720423a36f9 (patch)
tree381e6b5ab51db8d6e49358c49b2d286128beae2c /sys/nfsclient/nfs_socket.c
parentda3605dbea3a43379cf48fee6da798d01478c27f (diff)
Notes
Diffstat (limited to 'sys/nfsclient/nfs_socket.c')
-rw-r--r--sys/nfsclient/nfs_socket.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c
index 0059c5119ec1..9434fb97f878 100644
--- a/sys/nfsclient/nfs_socket.c
+++ b/sys/nfsclient/nfs_socket.c
@@ -55,6 +55,7 @@
#include <sys/syslog.h>
#include <sys/tprintf.h>
#include <sys/sysctl.h>
+#include <sys/signalvar.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
@@ -1501,14 +1502,16 @@ nfs_sigintr(nmp, rep, p)
struct nfsreq *rep;
register struct proc *p;
{
+ sigset_t tmpset;
+ tmpset = p->p_siglist;
+ SIGSETNAND(tmpset, p->p_sigmask);
+ SIGSETNAND(tmpset, p->p_sigignore);
if (rep && (rep->r_flags & R_SOFTTERM))
return (EINTR);
if (!(nmp->nm_flag & NFSMNT_INT))
return (0);
- if (p && p->p_siglist &&
- (((p->p_siglist & ~p->p_sigmask) & ~p->p_sigignore) &
- NFSINT_SIGMASK))
+ if (p && SIGNOTEMPTY(p->p_siglist) && NFSINT_SIGMASK(tmpset))
return (EINTR);
return (0);
}