> Well, I just tried, and I can reproduce a hang with this: > > while :; do quer; done >& /dev/null > > It happens with 1.5.18 and the current snapshot. I didn't check the > 1.5.18 version since I was too lazy to regenerate my copy with symbols > but the snapshot version "hangs" in sigsuspend, apparently waiting for a > SIGCHLD. Since the process has no children, it is going to hang > forever. > > So, this case, at least, is not a regression and it is not clear that it > is a cygwin problem.
This doesn't seem to be the same problem . I see what the original reporter saw. Even the strace is identical. The hang occurs after SIGCHLD is processed in the signal handler. I can prove this by using the strace output and the zsh source. The hang occurs because of this call: (gdb) 845 res = WaitForMultipleObjects (num, wait_objects, FALSE, timeout); in cancelable_wait(). The signal handler returns to the wrong place (?) and ends up in WaitForMultipleObjects() instead after the sigsuspend() call in zsh. I'll see what I can find out. If I find out something which makes more sense that what I currently know I'll post. -- Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko! Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/