From bf8f23b4fa47b000855083b717f646a159f6884f Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 9 Aug 2000 07:35:01 +0000 Subject: matz(ruby-bugs PR#51) git-svn-id: http://svn.ruby-lang.org/repos/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 b93e6d27b..fff4a2bd1 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 58305a76b..c36ce3166 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 5081c15d9..642dd05f5 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 -- cgit