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

incorrect exit status from cygwin exec to windows process


There appears to be some error when a cygwin process exec's another cygwin 
process, and returns the exit status to a windows process.  The windows 
process receives a return code of '131072'.  The problem appeared sometime 
after the cygwin 1.1.4 release. 

To reproduce the error, try the following: 

1. Compile the "x.c" program below with a windows compiler, e.g. MSVC or 
similar. 
   cl x.c 

   #include <stdio.h> 
   #include <process.h> 

   int main(int argc, char **argv) { 
     const char *cmdline = argv[1]; 
     int ret_code; 
     printf("COMMAND LINE: (%s)\n", cmdline); 
     fflush(stdout); fflush(stderr); 
     ret_code = system(cmdline); 
     fflush(stdout); fflush(stderr); 
     printf("RETURN CODE: %d\n", ret_code); 
     fflush(stdout); fflush(stderr); 
     exit(ret_code); 
   } 

2. From a cygwin shell (bash), type the following command: 
   ./x.exe 'C:\cygwin\bin\bash -c /bin/date' 

   Results: 
      COMMAND LINE: (C:\cygwin\bin\bash.exe -c /bin/date) 
      Tue Feb 27 22:55:39  2001 
      RETURN CODE: 131072 

3. Create a script, e.g. 
   echo /bin/date > x.sh 

   Run the command: 
      ./x.exe 'C:\cygwin\bin\bash x.sh' 

   Results: 
      COMMAND LINE: (C:\cygwin\bin\bash.exe x.sh) 
      Tue Feb 27 22:58:34  2001 
      RETURN CODE: 0 

4. Change the script to have an exec, e.g. 
   echo exec /bin/date > x.sh 

   Run the command: 
      ./x.exe 'C:\cygwin\bin\bash x.sh' 

   Results: 
      COMMAND LINE: (C:\cygwin\bin\bash.exe x.sh) 
      Tue Feb 27 22:59:47  2001 
      RETURN CODE: 131072 

I tried the same with "tcsh.exe" and received the same results, so it 
appears as if the bug is within the cygwin1.dll. 

Any ideas? 

-Jason 



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