Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Mon, 12 Mar 2001 13:31:18 -0500 From: Christopher Faylor To: Egor Duda Subject: Re: Problems with cygwin1-20010304 and Cygwin-Xemacs subprocesses Message-ID: <20010312133118.A10285@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: Egor Duda References: <20010311203018 DOT A16409 AT redhat DOT com> <20010312100400 DOT F19712 AT redhat DOT com> <160326517547 DOT 20010312184947 AT logos-m DOT ru> <20010312112246 DOT A31649 AT redhat DOT com> <70332407186 DOT 20010312202757 AT logos-m DOT ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: <70332407186.20010312202757@logos-m.ru>; from deo@logos-m.ru on Mon, Mar 12, 2001 at 08:27:57PM +0300 On Mon, Mar 12, 2001 at 08:27:57PM +0300, Egor Duda wrote: >Hi! > >Monday, 12 March, 2001 Christopher Faylor cgf AT redhat DOT com wrote: > >CF> On Mon, Mar 12, 2001 at 06:49:47PM +0300, Egor Duda wrote: >>>Monday, 12 March, 2001 Christopher Faylor cgf AT redhat DOT com wrote: >>>>>From the errors, it *looks* like these are problems in some of Egor Duda's recent >>>CF> additions. I'd prefer to let him look into this, if possible. >>> >>>i've finally make xemacs work on my machine and reproduced these >>>errors. i hope that now fixing them is only matter of time. i'll >>>submit the patch ASAP. > >CF> Is it possible that this is a problem with F_SETFD inheritance? I seem >CF> to recall that I had problems with this when modifying tty stuff in >CF> the past. > >it looks like we don't set need_fixup_after_fork for >fhandler_tty_slave. is it intentional? > >afaics, this leads to the situation when process with open slave tty >forks, forkee doesn't call fhandler_tty_common::fixup_after_fork, as >it thinks it doesn't need to, so all handles are left invalid. if then >forkee close this inherited fd of slave tty, there is a chance that >some valid handle is occasionally equal to the, say, non-fixed-up >'input_available_event' handle, and nevertheless, we call >ForceCloseHandle(input_available_event). > >if i understand things right, it will be sufficient to call >set_need_fork_fixup() in fhandler_tty_slave constructor. or even in >fhandler_tty_common constructor? Weird. There is a fork_fixup method for tty's but it is never being called? Again, I'm puzzled as to how cygwin could be working at all in that scenario but, you are right, I don't see how the method could be called. I think we should remove the 'set_need_fork_fixup ()' and make this part of a generic fhandler_termios constructor. That will catch all cases that need it, I think. Could you do that? cgf