* cont.c (cont_restore_1): workaround for x64-mswin64's SEH.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2007-07-08 17:19:01 +00:00
Родитель f880de86ed
Коммит a6ae274c3b
2 изменённых файлов: 15 добавлений и 3 удалений

Просмотреть файл

@ -1,7 +1,10 @@
Sun Jul 08 02:08:53 2007 NARUSE, Yui <naruse@ruby-lang.org>
Mon Jul 9 02:17:36 2007 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/json.rb, lib/json/, ext/json/:
import JSON 1.1.1
* cont.c (cont_restore_1): workaround for x64-mswin64's SEH.
Sun Jul 8 02:08:53 2007 NARUSE, Yui <naruse@ruby-lang.org>
* lib/json.rb, lib/json/, ext/json/: import JSON 1.1.1
Sat Jul 7 21:59:29 2007 Tanaka Akira <akr@fsij.org>

9
cont.c
Просмотреть файл

@ -237,6 +237,15 @@ cont_restore_1(rb_context_t *cont)
th->first_proc = sth->first_proc;
/* restore machine stack */
#ifdef _M_AMD64
{
/* workaround for x64 SEH */
jmp_buf buf;
setjmp(buf);
((_JUMP_BUFFER*)(&cont->jmpbuf))->Frame =
((_JUMP_BUFFER*)(&buf))->Frame;
}
#endif
if (cont->machine_stack_src) {
MEMCPY(cont->machine_stack_src, cont->machine_stack,
VALUE, cont->machine_stack_size);