From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7868) id DC8783857815; Wed, 10 Nov 2021 12:40:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DC8783857815 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Takashi Yano To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/cygwin-3_3-branch] Cygwin: pipe: Handle WAIT_CANCELED when waiting read_mtx. X-Act-Checkin: newlib-cygwin X-Git-Author: Takashi Yano X-Git-Refname: refs/heads/cygwin-3_3-branch X-Git-Oldrev: 975a808a561391983948038086005de1554d7055 X-Git-Newrev: 08253fae73d03787dc868994321276861f413206 Message-Id: <20211110124037.DC8783857815@sourceware.org> Date: Wed, 10 Nov 2021 12:40:37 +0000 (GMT) X-BeenThere: cygwin-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Nov 2021 12:40:38 -0000 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=08253fae73d03787dc868994321276861f413206 commit 08253fae73d03787dc868994321276861f413206 Author: Takashi Yano Date: Wed Nov 10 12:24:53 2021 +0900 Cygwin: pipe: Handle WAIT_CANCELED when waiting read_mtx. - Add missing handling for WAIT_CANCELED in cygwait() for read_mtx in raw_read(). Diff: --- winsup/cygwin/fhandler_pipe.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc index 724944336..ccb106ea7 100644 --- a/winsup/cygwin/fhandler_pipe.cc +++ b/winsup/cygwin/fhandler_pipe.cc @@ -302,10 +302,18 @@ fhandler_pipe::raw_read (void *ptr, size_t& len) set_errno (EAGAIN); len = (size_t) -1; return; - default: + case WAIT_SIGNALED: set_errno (EINTR); len = (size_t) -1; return; + case WAIT_CANCELED: + pthread::static_cancel_self (); + /* NOTREACHED */ + default: + /* Should not reach here. */ + __seterrno (); + len = (size_t) -1; + return; } while (nbytes < len) {