diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 873218d63..706f7f2d5 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2005-07-05 Christopher Faylor + + * dcrt0.cc (cygwin_exit): Mark as "noreturn". + * sigproc.cc (child_info::ready): Don't signal parent that we are a + cygwin process if we are dynamically loaded. + 2005-07-05 Christopher Faylor * malloc.cc: Update to version 2.8.2. diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 415444682..b55aeca65 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -41,7 +41,7 @@ details. */ #define PREMAIN_LEN (sizeof (user_data->premain) / sizeof (user_data->premain[0])) -extern "C" void cygwin_exit (int); +extern "C" void cygwin_exit (int) __attribute__ ((noreturn)); void ld_preload (); diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 3c7d19f40..93844c48a 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -771,7 +771,9 @@ child_info::ready (bool execed) return; } - if (!SetEvent (subproc_ready)) + if (dynamically_loaded) + sigproc_printf ("not really ready"); + else if (!SetEvent (subproc_ready)) api_fatal ("SetEvent failed"); else sigproc_printf ("signalled %p that I was ready", subproc_ready);