[newlib-cygwin/main] Cygwin: document new winjitdebug option

Corinna Vinschen corinna@sourceware.org
Sat Feb 3 19:19:49 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=918c3eda4176191733d9732dd7c5b0fc78c5a134

commit 918c3eda4176191733d9732dd7c5b0fc78c5a134
Author:     Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Sat Feb 3 19:54:31 2024 +0100
Commit:     Corinna Vinschen <corinna@vinschen.de>
CommitDate: Sat Feb 3 20:03:12 2024 +0100

    Cygwin: document new winjitdebug option
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/release/3.5.1 | 10 ++++++++--
 winsup/doc/cygwinenv.xml    | 10 ++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/release/3.5.1 b/winsup/cygwin/release/3.5.1
index 7776d120fbc2..81945dbda58a 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 05672c404ef1..3c69d5e4541c 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.</para>
 </listitem>
 
+<listitem>
+<para><envar>(no)winjitdebug</envar> - 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.</para>
+</listitem>
+
 <listitem>
 <para><envar>winsymlinks:{lnk,native,nativestrict,sys}</envar></para>


More information about the Cygwin-cvs mailing list