diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval.c | 1 | ||||
-rw-r--r-- | io.c | 2 |
3 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Wed Aug 9 16:31:48 2000 Yukihiro Matsumoto <matz@ruby-lang.org> + + * 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 <eban@os.rim.or.jp> * win32/win32.[ch]: emulate rename(2). @@ -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); @@ -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 |