From 61556330682130b85c34f13d9a54ef95b8fc6529 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 9 Aug 2000 07:35:01 +0000 Subject: [PATCH] matz(ruby-bugs PR#51) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ eval.c | 1 + io.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b93e6d27b9..fff4a2bd10 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Aug 9 16:31:48 2000 Yukihiro Matsumoto + + * eval.c (rb_callcc): thread status for continuations must be + THREAD_KILLED, otherwise thread_free() breaks other threads. + Wed Aug 9 13:24:25 2000 WATANABE Hirofumi * win32/win32.[ch]: emulate rename(2). diff --git a/eval.c b/eval.c index 58305a76b1..c36ce31661 100644 --- a/eval.c +++ b/eval.c @@ -8092,6 +8092,7 @@ rb_callcc(self) struct tag *tag; THREAD_ALLOC(th); + th->status = THREAD_KILLED; th->thread = cont = Data_Wrap_Struct(rb_cCont, thread_mark, thread_free, th); diff --git a/io.c b/io.c index 5081c15d93..642dd05f5d 100644 --- a/io.c +++ b/io.c @@ -2836,7 +2836,7 @@ rb_f_syscall(argc, argv) int argc; VALUE *argv; { -#ifdef HAVE_SYSCALL +#if defined(HAVE_SYSCALL) && !defined(__CHECKER__) #ifdef atarist unsigned long arg[14]; /* yes, we really need that many ! */ #else