summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/uthread/uthread_poll.c
diff options
context:
space:
mode:
authorpat <pat@openbsd.org>2004-11-30 00:14:51 +0000
committerpat <pat@openbsd.org>2004-11-30 00:14:51 +0000
commit04fc8df38ed662cc614e10707b6273753cf00aac (patch)
treef88da981c5da3a8b2890e725b83a0b55fbaf62c7 /lib/libpthread/uthread/uthread_poll.c
parenttweaks; (diff)
downloadwireguard-openbsd-04fc8df38ed662cc614e10707b6273753cf00aac.tar.xz
wireguard-openbsd-04fc8df38ed662cc614e10707b6273753cf00aac.zip
* make sure we leave the thread's cancellation point before we return
* plug a memory leak and FD_UNLOCK properly in writev ok marc
Diffstat (limited to 'lib/libpthread/uthread/uthread_poll.c')
-rw-r--r--lib/libpthread/uthread/uthread_poll.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libpthread/uthread/uthread_poll.c b/lib/libpthread/uthread/uthread_poll.c
index 7dbb9c30ead..dc276fa350a 100644
--- a/lib/libpthread/uthread/uthread_poll.c
+++ b/lib/libpthread/uthread/uthread_poll.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uthread_poll.c,v 1.10 2004/01/19 17:53:38 millert Exp $ */
+/* $OpenBSD: uthread_poll.c,v 1.11 2004/11/30 00:14:51 pat Exp $ */
/*
* Copyright (c) 1999 Daniel Eischen <eischen@vigrid.com>
* All rights reserved.
@@ -73,6 +73,7 @@ poll(struct pollfd fds[], nfds_t nfds, int timeout)
} else if (timeout < 0) {
/* a timeout less than zero but not == INFTIM is invalid */
errno = EINVAL;
+ _thread_leave_cancellation_point();
return (-1);
}