[前][次][番号順一覧][スレッド一覧]

ruby-changes:25800

From: kosaki <ko1@a...>
Date: Mon, 26 Nov 2012 18:28:44 +0900 (JST)
Subject: [ruby-changes:25800] kosaki:r37857 (trunk): * signal.c (signal_exec): add volatile to make sure setjmp safe.

kosaki	2012-11-26 18:28:35 +0900 (Mon, 26 Nov 2012)

  New Revision: 37857

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37857

  Log:
    * signal.c (signal_exec): add volatile to make sure setjmp safe.

  Modified files:
    trunk/ChangeLog
    trunk/signal.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37856)
+++ ChangeLog	(revision 37857)
@@ -1,3 +1,7 @@
+Mon Nov 26 18:26:28 2012  KOSAKI Motohiro  <kosaki.motohiro@g...>
+
+	* signal.c (signal_exec): add volatile to make sure setjmp safe.
+
 Mon Nov 26 18:19:47 2012  KOSAKI Motohiro  <kosaki.motohiro@g...>
 
 	* signal.c (signal_exec): suppress "warning: variable 'signum'
Index: signal.c
===================================================================
--- signal.c	(revision 37856)
+++ signal.c	(revision 37857)
@@ -624,7 +624,7 @@
 signal_exec(VALUE cmd, int safe, int sig)
 {
     rb_thread_t *cur_th = GET_THREAD();
-    int old_in_trap = cur_th->in_trap;
+    volatile int old_in_trap = cur_th->in_trap;
     int state;
 
     cur_th->in_trap = 1;
@@ -634,6 +634,7 @@
 	rb_eval_cmd(cmd, rb_ary_new3(1, signum), safe);
     }
     TH_POP_TAG();
+    cur_th = GET_THREAD();
     cur_th->in_trap = old_in_trap;
 
     if (state) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]