On Apr 29 11:35, John Dong wrote: > Hi, > > Cygwin on Windows 7, seems to exhibit a rather peculiar behavior: Sometimes > the exit status of a Win32 process is incorrectly captured by Cygwin.
Please: http://cygwin.com/acronyms/#PCYMTWLL http://cygwin.com/acronyms/#TOFU > [...] > > int _tmain(int argc, _TCHAR* argv[]) > > { > > int ret = _ttoi(argv[1]); > > _tprintf(_T("Exiting with %i\n"), ret); > > > > return ret; > > } > > Then, I wrote a shell script that called this executable ("exiter.exe") with > argument 0 in an infinite loop: > > > #!/bin/sh > > set -e > > while true; do > > /cygdrive/c/exiter.exe 0 > > echo $? > > done > > > > I expect this script to run forever, as the exit code should always be zero. > However, after running this overnight, I see the script terminate: > > > Exiting with 0 > > 0 > > Exiting with 0 > > > > $ echo $? > > 1 > > I'm running your testcase on a W7 32 bit machine for about 12 hours now, and it's still running. The only difference is that I built exiter.exe using MingW gcc, rather than VC++, but that doesn't change the fact that the resulting application is a native one. Did any of you running into this problem check if this could be a BLODA problem(*)? Corinna (*) http://cygwin.com/faq/faq.using.html#faq.using.bloda -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple