0.8alpha.0.17
authorDaniel Barlow <dan@telent.net>
Wed, 7 May 2003 11:38:35 +0000 (11:38 +0000)
committerDaniel Barlow <dan@telent.net>
Wed, 7 May 2003 11:38:35 +0000 (11:38 +0000)
Package frobbing fix from Matthew Danish to make sb-thread
build again

Save errno return from waitpid long enough to print the error,
as the real errno is clobbered by parent_do_garbage_collect()

package-data-list.lisp-expr
src/code/thread.lisp
src/runtime/runtime.c
version.lisp-expr

index 03af7eb..4234d03 100644 (file)
@@ -1395,7 +1395,7 @@ is a good idea, but see SB-SYS re. blurring of boundaries."
 
  #s(sb-cold:package-data
     :name "SB!THREAD"
-    :use ("CL" "SB!ALIEN")
+    :use ("CL" "SB!ALIEN" "SB!INT")
     :doc "public (but low-level): native thread support"
     :export ("MAKE-THREAD"
             "MAKE-LISTENER-THREAD" "DESTROY-THREAD" "WITH-RECURSIVE-LOCK"
index fcbdd94..458095f 100644 (file)
@@ -1,4 +1,6 @@
-(in-package :sb!thread)
+(in-package "SB!THREAD")
+
+(defvar *session-lock*)
 
 (sb!xc:defmacro with-recursive-lock ((mutex) &body body)
   #!+sb-thread
index ad6a34b..6900e50 100644 (file)
@@ -468,13 +468,14 @@ static void /* noreturn */ parent_loop(void)
     maybe_gc_pending=0;
     while(all_threads && (pid=waitpid(-1,&status,__WALL|WUNTRACED))) {
        struct thread *th;
+       int real_errno=errno;
        while(maybe_gc_pending) parent_do_garbage_collect();
        if(pid==-1) {
-           if(errno == EINTR) {
+           if(real_errno == EINTR) {
                continue;
            }
-           if(errno == ECHILD) break;
-           fprintf(stderr,"waitpid: %s\n",strerror(errno));
+           if(real_errno == ECHILD) break;
+           fprintf(stderr,"waitpid: %s\n",strerror(real_errno));
            continue;
        }
        th=find_thread_by_pid(pid);
index f875a95..dc89546 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8alpha.0.16"
+"0.8alpha.0.17"