Update of /cvsroot/sbcl/sbcl/src/runtime
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6681/src/runtime
Modified Files:
gencgc.c run-program.c
Log Message:
0.9.3.60:
* Bump +FASL-FILE-VERSION+.
* Add a couple of useful restarts for ENSURE-DIRECTORIES-EXIST.
(patch from sbcl-devel "Proposed patch to ensure-directories-exist"
2005-06-06 by Alan Shields)
* Fix empty hash slot marker on 64-bit systems.
(patch from sbcl-devel "Bug in hash tables on 64-bit systems and fix"
2005-08-11 by Lutz Euler)
* Clear the signal mask in the child process after run-program
has forked. (patch from sbcl-devel "Blocked signals and run-program"
2005-08-14 by Benedikt Schmidt).
Index: gencgc.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/gencgc.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- gencgc.c 11 Aug 2005 14:44:16 -0000 1.76
+++ gencgc.c 16 Aug 2005 17:09:49 -0000 1.77
@@ -1864,7 +1864,8 @@
#endif
if ((old_index != new_index) &&
- ((!hash_vector) || (hash_vector[i] == 0x80000000)) &&
+ ((!hash_vector) ||
+ (hash_vector[i] == MAGIC_HASH_VECTOR_VALUE)) &&
((new_key != empty_symbol) ||
(kv_vector[2*i] != empty_symbol))) {
Index: run-program.c
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/runtime/run-program.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- run-program.c 14 Jul 2005 15:41:21 -0000 1.8
+++ run-program.c 16 Aug 2005 17:09:49 -0000 1.9
@@ -16,6 +16,7 @@
#include <stdlib.h>
#include <sys/file.h>
#include <sys/types.h>
+#include <signal.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
@@ -54,6 +55,7 @@
{
int pid = fork();
int fd;
+ sigset_t sset;
if (pid != 0)
return pid;
@@ -67,6 +69,10 @@
setpgrp(0, getpid());
#endif
+ /* unblock signals */
+ sigemptyset(&sset);
+ sigprocmask(SIG_SETMASK, &sset, NULL);
+
/* If we are supposed to be part of some other pty, go for it. */
if (pty_name) {
#if !defined(hpux) && !defined(SVR4)
|