sync with children problem

Chris Faylor
Fri Sep 1 13:11:00 GMT 2000

On Fri, Sep 01, 2000 at 04:09:04PM -0400, Chris Faylor wrote:
>On Fri, Sep 01, 2000 at 11:55:24PM +0400, Egor Duda wrote:
>>  i've  encountered  a  problem  with program doing fork-exec-waitpid,
>>namely  cvs  working  via  ssh.  the worst in situation is that when i
>>everything  run under strace, problem vanishes (and i guess this means
>>we've  got  some  race  here).  maybe child process exits too soon, or
>>something  like  that.  snapshot  taken  from  sourceware  ( DLL build
>>2000-08-25-23:55-EST)   shows  the  same  behavior.  currently,  as  a
>>workaround, i've applied this patch (that looks more like dirty hack),
>>just  to  make  things  work,  but i think that such change can likely
>>broke something else. any comments?
>Yep.  Sorry but the patch makes no sense.  The only effect of calling
>proc_can_be_signalled over your change would be to wait for the
>signal handler thread to call 'SetEvent (wait_sig_inited)' in the
>unpatched version.
>If that is never happening, then there is something seriously wrong
>Do you have a simple test case for this scenario, even if it takes
>a bunch of repetitions to trigger?

Out of curiousity, does this change the behavior at all?


RCS file: /cvs/src/src/winsup/cygwin/,v
retrieving revision 1.32
diff -u -r1.32
---	2000/08/26 03:48:37	1.32
+++	2000/09/01 20:10:50
@@ -609,7 +610,7 @@
 void __stdcall
 sigproc_init ()
-  wait_sig_inited = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+  wait_sig_inited = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL);
   ProtectHandle (wait_sig_inited);
   /* local event signaled when main thread has been dispatched

More information about the Cygwin-developers mailing list