X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=PRRAUQZkquHYGqDkSw36nxIzKmhFBooQ3MFI7dmQnvlTWoaJltNd2 mwhQyBZiFj/h+KkfNSLKIWUJhB1P395DfLGZDJFAAjwSR1xj6TyKfMQ6SLl5duh8 339rkgDb+VZRYsCvjV/buCU41w/YAIqeVYMQlRqjKL32ojquX1LUWk= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=mYQiOolBvMpDWCPfhD0yhrklZWs=; b=r4d0mWLrTx2u7T2lieAXwZ27MyeL v5Y9OxpUSpTjOxl87PsDacremXBncaC4oP+nfpLwSsGwcns7s1FgL5jBzOWLLN+3 WNXktj+i89zTBYMDDvDFo2Hjbwm2YL1t5ncDQAtdT86eAh+LZeWc9W905PHJ7a4z KSvyuzsq58DvuoA= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: calimero.vinschen.de Date: Wed, 11 Mar 2015 17:55:34 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: PTY dies when master in parent process is closed. Message-ID: <20150311165534.GK5732@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20150305215323 DOT 760df4752fdbd6f19a931851 AT nifty DOT ne DOT jp> <20150305133100 DOT GY3213 AT calimero DOT vinschen DOT de> <20150305135839 DOT GZ3213 AT calimero DOT vinschen DOT de> <20150306200710 DOT 1264a46aa8dd633943e56212 AT nifty DOT ne DOT jp> <20150308163759 DOT 9d3eacd5f3b168a1515a6bc2 AT nifty DOT ne DOT jp> <20150311164829 DOT GJ5732 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Fh0SynPkUvrWGMR0" Content-Disposition: inline In-Reply-To: <20150311164829.GJ5732@calimero.vinschen.de> User-Agent: Mutt/1.5.23 (2014-03-12) --Fh0SynPkUvrWGMR0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mar 11 17:48, Corinna Vinschen wrote: > Hi Takashi, >=20 > On Mar 8 16:37, Takashi Yano wrote: > > On Fri, 6 Mar 2015 20:07:10 +0900 > > Takashi Yano wrote: > >=20 > > > On Thu, 5 Mar 2015 14:58:39 +0100 > > > Corinna Vinschen wrote: > > >=20 > > > > I applied a patch. Please have a look. > > >=20 > > > I have tested the latest CVS version, and found > > > a new problem. > > >=20 > > > With new CVS version, slave side can not detect > > > closure of master. > > >=20 > > > Please use following Test Case 3. Test Case 3 is > > > not terminated by itself with latest CVS. > > >=20 > > > It seems that the program is stopping at > > > cygwait(input_available_event, time_to_wait) > > > in fhandler_pty_slave::read(). > > >=20 > > > I guess input_available_event should be set when > > > the last valid master fd is closed. > >=20 > > For this problem, I have made a patch. > >=20 > > With this patch, it has been confirmed that the problems > > in Test Case 1, 2 and 3 are fixed. > >=20 > > I am glad if this would be a help. > >=20 > > However, one matter to be concerned is irregular use of > > PeekNamedPipe(). Maybe alternative means could be better > > for detecting closure of all master fds. >=20 > I'm inclined to apply this patch. I think using PeekNamedPipe this way > is pretty nice, albeit it's not atomic. It might be a good idea to add > an acquire/release_output_mutex bracket, even if that doesn't help for > cases in which a process holding a master fd crashes hard. Scratch that. Atomicity doesn't really matter in this case. Corinna --=20 Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat --Fh0SynPkUvrWGMR0 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJVAHOGAAoJEPU2Bp2uRE+go70P/1tewJE2cOVsYxwG4105wZB+ TvjosvRMA0poxJnm1qBkUnwo0KxUu4z5qRXjfaR5w8O1g+Iq9tkxlMolw6mq9Drh 3JZAFkGaBll0DgResEfnG+UKokp/NLClHWp13xnvWXawSPH722BHdBTZEuZw0dRK LCxvJ2NG2ygKx3hyIRzyo0/9KatDktc4XiT+b6nMDQ7/vofN9GiPgjZgcdsDPruO XMa+5Je7MAwczCHcJQHaXLxP4gi7grZM0HM73j+nZs+pXjB/TMmVlBXDlZ6JzSTx 0XmnuNiw/X5ZuRtkkqK8204gBg/3cIt5baVq5cbmb6Sdxx+TqY7++0JFSbp95o5U 6hZPbNGmhl46OzPjmLi08n+oRoEw8RCl4lmjS//37Jkqkh0KxeIOcQU1I5Q+wato 85Clq4vXHyUbT1KcfSnWT6bRBLCTyuLmuC+ziD7Hpxc++tiWkwyeYm1CgagmE8HR LnLjikPNTejMa8/NcMv5/wMp1KW1kPovO08IxxHIV0mr+LNuGNwB+BxwRpOYwx8Z +lqDqmsfB4Mw1WRUys35iwEw7g+VKu/Eu1wNfG8Pi1pyUyj04a7mpLEjsZ9pLb4J 6oudEvKMVplfaXy/m7UxUtTkAelovIvBW2UgCcuoR2+SaKc1APwewiXR1c8fNw3A JkL8fV9jVAWFi2vnETnU =YVGh -----END PGP SIGNATURE----- --Fh0SynPkUvrWGMR0--