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

RE: mzc problems with RH 6.1



Follow-up on an old thread.

> $mzc --cc helloprint.c
> MzScheme etc...
> "helloprint.c":
> compile-extension:
> ../../gcc/gcc.c:2325: Internal compiler error in function execute

I've fixed a bug in MzScheme's `process', etc. that affects recent
versions of Linux. The bug was the source of the problem above. The fix
is in the currently exp-tagged code in CVS, version 102/17.

The bug was that MzScheme was resetting SIGCHLD to SIG_IGN before
executing a subprocess. Subprocesses inherit SIG_IGN, and wait() for
recent versions of Linux relies on SIGCHLD being other than SIG_IGN, so
that's why gcc didn't work when launched from MzScheme/mzc. MzScheme
should have instead left the handler alone, and let execv() reset it to
SIG_DFL. Meanwhile, since MzScheme ignores SIGFPE and SIGPIPE, those
needed to be reset.

Thanks to Sebastien Loisel for prodding me to look at this problem more
closely.

Matthew