RE: Win32/MinGW port



Hello!

On Tue, 13 Aug 2002, Piotr Lakomy wrote:

> > why don't you like cygwin port?
> 
> Current version is randomly freezing (not responding
> to keyboard). That looked harder to debug than native build :)

This patch fixes it.  Yes, it was hard to debug (2 hours).

================================
--- src/subshell.c
+++ src/subshell.c
@@ -1069,6 +1069,7 @@ static void synchronize (void)
 
     sigemptyset (&sigchld_mask);
     sigaddset (&sigchld_mask, SIGCHLD);
+    sigprocmask (SIG_UNBLOCK, &sigchld_mask, NULL);
     sigprocmask (SIG_BLOCK, &sigchld_mask, &old_mask);
 
     /* Wait until the subshell has stopped */
================================

Somebody is blocking SIGCHLD, so even old_mask has SIGCHLD blocked,
therefore the subsequent sigsuspend() call hangs forever.  I'm not sure if
it's going to be the final fix (I'm not applying it yet), but it should be
a reasonably good workaround for Cygwin users for now.

I think I'll try to find where SIGCHLD is blocked before applying to CVS
any fixes for this problem.

-- 
Regards,
Pavel Roskin




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]