Mail Archives: cygwin-developers/2001/03/12/14:16:18
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
- Raw text -