[前][次][番号順一覧][スレッド一覧][生データ]

yarv-diff:120

From: ko1 atdot.net
Date: 7 Oct 2005 00:36:59 -0000
Subject: [yarv-diff:120] r276 - trunk

Author: ko1
Date: 2005-10-07 09:36:58 +0900 (Fri, 07 Oct 2005)
New Revision: 276

Modified:
   trunk/ChangeLog
   trunk/yarvcore.h
Log:
	* yarvcore.h : add member variable "interrupt_flag" to yarv_thread_t



Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2005-10-05 12:25:40 UTC (rev 275)
+++ trunk/ChangeLog	2005-10-07 00:36:58 UTC (rev 276)
@@ -4,7 +4,11 @@
 #  from Mon, 03 May 2004 01:24:19 +0900
 #
 
+2005-10-07(Fri) 09:36:36 +0900  Koichi Sasada  <ko1 atdot.net>
 
+	* yarvcore.h : add member variable "interrupt_flag" to yarv_thread_t
+
+
 2005-10-05(Wed) 21:20:13 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* eva.c, eval_thread.c, ruby.h, eval_error.h, eval_jump.h, 
@@ -18,9 +22,7 @@
 
 	* yarvcore.c : fix some mark/free routine
 
-	* yarvcore.h : 
 
-
 2005-10-05(Wed) 09:08:11 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* eval.c, eval_intern.h, vm.c, eval_jump.h, yarvcore.h :

Modified: trunk/yarvcore.h
===================================================================
--- trunk/yarvcore.h	2005-10-05 12:25:40 UTC (rev 275)
+++ trunk/yarvcore.h	2005-10-07 00:36:58 UTC (rev 276)
@@ -357,6 +357,7 @@
   /* thread control */
   yarv_thread_id_t thread_id;
   enum yarv_thread_status status;
+  int interrupt_flag;
   struct yarv_tag *tag;
   
   VALUE value;
@@ -511,16 +512,23 @@
 
 void yarv_thraed_schedule();
 
-#define YARV_CHECK_INTS() do { \
-  if(GET_VM()->interrupt_flag){ \
-    GET_VM()->interrupt_flag = 0; \
+
+#define YARV_CHECK_INTS_TH(th) do { \
+  if(th->vm->interrupt_flag || \
+     th->interrupt_flag){ \
+    th->interrupt_flag = 0; \
+    th->vm->interrupt_flag = 0; \
     /* TODO: trap something event */ \
     yarv_thraed_schedule(); \
   } \
 } while (0)
 
+#define YARV_CHECK_INTS() \
+  YARV_CHECK_INTS_TH(GET_THREAD())
 
 
+
+
 #endif	// _YARVCORE_H_INCLUDED_
 
 


--
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]