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 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/libpthread/thread/thr_accept.c') 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); } -- cgit v1.1