This is the mail archive of the
mailing list for the Cygwin project.
- From: Trey Greer <greer at treytronics dot org>
- To: cygwin at cygwin dot com
- Date: Sun, 6 May 2012 02:35:06 +0000 (UTC)
- Subject: Re:
- References: <CANDzSLR7Z0TjJx6GJ2ds5A8MKNRaBA0QPBHGf_siwrzeqiXBNg@mail.gmail.com> <4F5D0025.email@example.com> <4F5D0141.firstname.lastname@example.org> <loom.20120312T023754email@example.com>
Jack <jack.profit <at> gmail.com> writes:
> Ken Brown <kbrown <at> cornell.edu> writes:
> > Another (easier) thing you could do is try various snapshots between
> > versions 1.7.10 and 1.7.11 of cygwin1.dll and pinpoint exactly when the
> > problem first occurred.
> > Ken
> Sadly, even the oldest cygwin1.dll snapshot (from 7/30/11) seems to have this
> issue. There is a pointer on the emacs lists (for MacOS) that says I should
> recompile with #define DONT_REOPEN_PTYS to avoid the "inappropriate ioctl for
> device" problem. I was hoping to avoid recompiling emacs but I guess I'll give
> that a try. :)
> Thanks for the ideas Ken.
Looking through the native (Windows) emacs 23.4.1 source, I don't
see how cygwin bash job control could ever have worked. When I
do a ctrl-C ctrl-Z (emacs speak for suspend job) in the bash
shell in shell mode, emacs gives me the message 'No SIGTSTP
support'. Poking through the source, this appears to be because
there is no SIGTSTP defined in windows, or at least not in the
configuration header emacs-23.4/src/s/ms-w32.h.
Emacs in windows does not have PTYS (HAVE_PTYS is not defined in
s/ms-w32.h) so shell-mode opens the cygwin bash shell with input
and output pipes instead of ptys. A recent change to bash (as of
bash-4.1-alpha) causes bash to refuse job control if the
controlling terminal is not a tty. See item jj. in the
bash-4.0-alpha entry in the changelog
It looks to me like suspend (ctrl-C ctrl-Z) never worked for
cygwin bash within native windows gnu emacs, but I certainly
could be wrong.
I did try defeating the tty test mentioned above (in jobs.c in
the bash source). Indeed, I was able to spawn jobs in the
background and kill them. Just no signals from emacs.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple