aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorDarren Reed <darrenr@FreeBSD.org>2005-06-14 09:18:26 +0000
committerDarren Reed <darrenr@FreeBSD.org>2005-06-14 09:18:26 +0000
commitebcef7d42b6ee99b5574065dd786f8c25cfb716b (patch)
tree005662491fe7f6b4d472ec5cfc1cc74d0f90fd96 /sys
parent6c059e67a9eef343c453540ceb4c8310b611a052 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/contrib/ipfilter/netinet/ip_sync.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/contrib/ipfilter/netinet/ip_sync.c b/sys/contrib/ipfilter/netinet/ip_sync.c
index 40a027e12a5a..a091b5380da7 100644
--- a/sys/contrib/ipfilter/netinet/ip_sync.c
+++ b/sys/contrib/ipfilter/netinet/ip_sync.c
@@ -442,21 +442,26 @@ struct uio *uio;
l = get_sleep_lock(&sl_tail);
err = sleep(&sl_tail, PZERO+1);
+ if (err) {
+ MUTEX_EXIT(&ipsl_mutex);
+ return EINTR;
+ }
spinunlock(l);
}
# else /* __hpux */
# ifdef __osf__
err = mpsleep(&sl_tail, PSUSP|PCATCH, "ipl sleep", 0,
&ipsl_mutex, MS_LOCK_SIMPLE);
+ if (err)
+ return EINTR;
# else
MUTEX_EXIT(&ipsl_mutex);
err = SLEEP(&sl_tail, "ipl sleep");
+ if (err)
+ return EINTR;
+ MUTEX_ENTER(&ipsl_mutex);
# endif /* __osf__ */
# endif /* __hpux */
- if (err) {
- MUTEX_EXIT(&ipsl_mutex);
- return err;
- }
# endif /* SOLARIS */
}
MUTEX_EXIT(&ipsl_mutex);