projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.1.10:
[sbcl.git]
/
src
/
runtime
/
runtime.c
diff --git
a/src/runtime/runtime.c
b/src/runtime/runtime.c
index
ad6a34b
..
6900e50
100644
(file)
--- a/
src/runtime/runtime.c
+++ b/
src/runtime/runtime.c
@@
-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;
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) {
while(maybe_gc_pending) parent_do_garbage_collect();
if(pid==-1) {
- if(errno == EINTR) {
+ if(real_errno == EINTR) {
continue;
}
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);
continue;
}
th=find_thread_by_pid(pid);