summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/dcrt0.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r--winsup/cygwin/dcrt0.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 149d37794..892a46581 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -122,6 +122,7 @@ extern "C"
#ifdef DEBUGGING
int pinger;
#endif
+ int NO_COPY __api_fatal_exit_val = 1;
};
char *old_title;
@@ -640,6 +641,14 @@ get_cygwin_startup_info ()
return res;
}
+bool
+child_info_fork::handle_failure (DWORD err)
+{
+ if (retry > 0)
+ ExitProcess (EXITCODE_RETRY);
+ return 0;
+}
+
#define dll_data_start &_data_start__
#define dll_data_end &_data_end__
#define dll_bss_start &_bss_start__
@@ -1157,7 +1166,7 @@ __api_fatal (const char *fmt, ...)
#ifdef DEBUGGING
try_to_debug ();
#endif
- myself.exit (1);
+ myself.exit (__api_fatal_exit_val);
}
void