Mail Archives: cygwin-developers/2000/09/01/16:12:15
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:
>>Hi!
>>
>> 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
>somewhere.
>
>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?
cgf
Index: sigproc.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/sigproc.cc,v
retrieving revision 1.32
diff -u -r1.32 sigproc.cc
--- sigproc.cc 2000/08/26 03:48:37 1.32
+++ sigproc.cc 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
- Raw text -