diff options
author | archie <archie@FreeBSD.org> | 2002-05-02 19:58:43 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 2002-05-02 19:58:43 +0000 |
commit | b163f64d4ed7fcae172128db398cbc49e9c22536 (patch) | |
tree | 1119b760226c7870af16a85be9b494a6c3fa3a24 /lib/libc_r/uthread/uthread_select.c | |
parent | 7efe637f5aea25bb5a5edc7e5b0b376e4bfaa671 (diff) | |
download | FreeBSD-src-b163f64d4ed7fcae172128db398cbc49e9c22536.zip FreeBSD-src-b163f64d4ed7fcae172128db398cbc49e9c22536.tar.gz |
Make these functions cancellation points like they should be:
poll(2), readv(2), select(2), wait4(2), writev(2).
PR: bin/37658
Reviewed by: deischen
MFC after: 1 week
Diffstat (limited to 'lib/libc_r/uthread/uthread_select.c')
-rw-r--r-- | lib/libc_r/uthread/uthread_select.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/libc_r/uthread/uthread_select.c b/lib/libc_r/uthread/uthread_select.c index 8d03bbd..a3a9a9d 100644 --- a/lib/libc_r/uthread/uthread_select.c +++ b/lib/libc_r/uthread/uthread_select.c @@ -43,7 +43,7 @@ #include <pthread.h> #include "pthread_private.h" -__weak_reference(_select, select); +__weak_reference(__select, select); int _select(int numfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, @@ -214,3 +214,16 @@ _select(int numfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, return (ret); } + +int +__select(int numfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, + struct timeval *timeout) +{ + int ret; + + _thread_enter_cancellation_point(); + ret = _select(numfds, readfds, writefds, exceptfds, timeout); + _thread_leave_cancellation_point(); + + return ret; +} |