diff --git a/winsup/cygwin/release/3.5.1 b/winsup/cygwin/release/3.5.1 index 7776d120f..81945dbda 100644 --- a/winsup/cygwin/release/3.5.1 +++ b/winsup/cygwin/release/3.5.1 @@ -1,8 +1,14 @@ -Bug Fixes ---------- +Fixes: +------ - Fix exit code for non-cygwin process running in console. The bug was introduced in 3.5.0. - Make the interface names handled by if_nametoindex() and if_indextoname() consistent with that of if_nameindex(). + +- Revert error handling for non-Cygwin child processes to use Cygwin's + error mode by default. Resetting the error mode to the OS default + error mode is now possible by using the new CYGWIN environment variable + option "winjitdebug". + Addresses: https://cygwin.com/pipermail/cygwin/2024-February/255305.html diff --git a/winsup/doc/cygwinenv.xml b/winsup/doc/cygwinenv.xml index 05672c404..3c69d5e45 100644 --- a/winsup/doc/cygwinenv.xml +++ b/winsup/doc/cygwinenv.xml @@ -93,6 +93,16 @@ line (truncated to ~32K) will be passed on any processes that it creates in addition to the normal UNIX argv list. Defaults to not set. + +(no)winjitdebug - if set, non-Cygwin executables +started from a Cygwin process will have their error mode reset to the +system default. That means, if they don't call SetErrorMode() explicitl, +the OS will display error dialog boxes in the GUI if some fatal error +occurs. Defaults to not set, so fatal errors in a non-Cygwin child +process will just result in an error code be propagated back to the +parent process. + + winsymlinks:{lnk,native,nativestrict,sys}