This is the mail archive of the cygwin-apps mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Vin, On Jan 28 22:32, Vin Shelton wrote: > Dear Corinna, et al - > > On Wed, Jan 28, 2015 at 8:58 AM, Corinna Vinschen wrote: > > On Jan 28 08:20, Vin Shelton wrote: > >> On Wed, Jan 28, 2015 at 4:53 AM, Corinna Vinschen wrote: > >> > On Jan 27 23:05, Vin Shelton wrote: > >> >> I spent some time debugging M-x shell in XEmacs on 32-bit Cygwin. > >> >> Here's what I found out. > >> >> > >> >> In the child after fork() but before exec(), the setsid() call in > >> >> disconnect_controlling_terminal() is causing the subprocess not to > >> >> function after it gets spawned. > >> > > >> > Can you define "not function" a bit more detailed? Does no process work > >> > at all, or do only processes requiring a tty not work? For instance, > >> > does something like an "echo foo > bar" still work? > >> [...] > >> >> Thanks for any insight you can offer. > >> > > >> > Hmm, not off the top of my head. Is there a chance that you could > >> > provide a simple, self contained testcase to reproduce the setsid > >> > behaviour? I think I have to debug that. > >> > >> You mean a simpler test case than XEmacs? That seems like a low bar. :-) > > > > LOL. > > After thinking about this for awhile, it dawned on me that the problem > is not with setsid() per se, but rather with the sequence of events > _following_ the setsid() call. That is, setsid() causes some of the > ensuing ioctl() (or similar) calls that set up the pty to fail. > > I think I have verified this behavior - I restored the old sysdep.c > module and moved the disconnect_controlling_terminal() call [which > calls setsid()] from right after the fork() to just before the exec() > call and M-x shell works on Cygwin as it always has on linux. Good news! So the XEmacs code is in a state now that Volker can start creating a Cygwin package? > I will endeavor to create a STC for Cygwin that includes all the code > involved in setting up the terminal so we can experiment with moving > the setsid() call between the beginning and the end of the function. Ok, thanks. Hopefully we can find the snag in Cygwin. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
Attachment:
pgphwnFg8beOK.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |