This is the mail archive of the cygwin@cygwin.com 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]

Subprocess suboptimality


As previously reported, Cygwin is no longer able to abort non-Cygwin
processes started in a subshell (i.e. they don't respond to Ctrl-C or 
SIGTERM).  This applies both to 1.3.3 and a very recent CVS build.

I haven't been able to solve this (mainly because everything works
when running the whole thing under strace...), but I might add some
datapoints:

It seems that only sh is having trouble, not bash: replacing ash with
bash makes non-Cygwin subprocesses abortable.

In some cases, mainly when using ant (a java build tool), Ctrl-C kills
sh, but doesn't interrupt the java child process. Replacing ash with
bash "fixes" things in this case also.

Below are some examples (all executed on W2K in rxvt with bash as
shell with CYGWIN=tty ntsec):

tracert www.cygwin.com                      Abortable.
sh -c "tracert www.cygwin.com"              Not responding.
strace sh -c "tracert www.cygwin.com"       Abortable.
bash -c "tracert www.cygwin.com"            Abortable.

"Abortable" means "works ok". "Not responding" means that Ctrl-C is
useless and that killing the sh process with SIGTERM doesn't do
anything.  SIGKILL causes sh to exit, but leaves the child process
running.

I'm posting this with the faint hope that this isn't as confusing for
someone else as it is for me :-)

/dan

-- 
Dan Holmsand

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]