From 1f8c5c54fd77f203bfb1e19b8afcae1b868d3008 Mon Sep 17 00:00:00 2001 From: deischen Date: Tue, 9 Dec 2003 23:40:27 +0000 Subject: accept() returns a file descriptor when it succeeds which is very likely to be non-zero. When leaving the cancellation point, check the return value against -1 to see if cancellation should be checked. While I'm here, make the same change to connect() just to be consisitent. Pointed out by: davidxu --- lib/libpthread/thread/thr_accept.c | 2 +- lib/libpthread/thread/thr_connect.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/libpthread') diff --git a/lib/libpthread/thread/thr_accept.c b/lib/libpthread/thread/thr_accept.c index 3bb4031..0131bc8 100644 --- a/lib/libpthread/thread/thr_accept.c +++ b/lib/libpthread/thread/thr_accept.c @@ -43,7 +43,7 @@ __accept(int s, struct sockaddr *addr, socklen_t *addrlen) curthread = _get_curthread(); _thr_cancel_enter(curthread); ret = __sys_accept(s, addr, addrlen); - _thr_cancel_leave(curthread, ret != 0); + _thr_cancel_leave(curthread, ret == -1); return (ret); } diff --git a/lib/libpthread/thread/thr_connect.c b/lib/libpthread/thread/thr_connect.c index 7e29a6d..2d5614b 100644 --- a/lib/libpthread/thread/thr_connect.c +++ b/lib/libpthread/thread/thr_connect.c @@ -43,7 +43,7 @@ __connect(int fd, const struct sockaddr *name, socklen_t namelen) curthread = _get_curthread(); _thr_cancel_enter(curthread); ret = __sys_connect(fd, name, namelen); - _thr_cancel_leave(curthread, ret != 0); + _thr_cancel_leave(curthread, ret == -1); return (ret); } -- cgit v1.1