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

ruby-changes:2035

From: ko1@a...
Date: 27 Sep 2007 03:19:00 +0900
Subject: [ruby-changes:2035] nobu - Ruby:r13526 (trunk): * process.c (rb_waitpid): no needs to poll.

nobu	2007-09-27 03:17:43 +0900 (Thu, 27 Sep 2007)

  New Revision: 13526

  Modified files:
    trunk/ChangeLog
    trunk/process.c
    trunk/version.h

  Log:
    * process.c (rb_waitpid): no needs to poll.  [ruby-dev:31871]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/version.h?r1=13526&r2=13525
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13526&r2=13525
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/process.c?r1=13526&r2=13525

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13525)
+++ ChangeLog	(revision 13526)
@@ -1,3 +1,7 @@
+Thu Sep 27 03:17:41 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* process.c (rb_waitpid): no needs to poll.  [ruby-dev:31871]
+
 Wed Sep 26 20:11:46 2007  Koichi Sasada  <ko1@a...>
 
 	* bootstraptest/test_knownbug.rb: remove a fixed test.
Index: process.c
===================================================================
--- process.c	(revision 13525)
+++ process.c	(revision 13526)
@@ -605,7 +605,6 @@
     arg.pid = pid;
     arg.st = st;
     arg.flags = flags;
-  retry:
     result = (rb_pid_t)rb_thread_blocking_region(rb_waitpid_blocking, &arg,
 						 RB_UBF_DFL, 0);
     if (result < 0) {
@@ -617,10 +616,6 @@
 #endif
 	return -1;
     }
-    if (result == 0) {
-	rb_thread_polling();
-	goto retry;
-    }
 #else  /* NO_WAITPID */
     if (pid_tbl && st_lookup(pid_tbl, pid, (st_data_t *)st)) {
 	rb_last_status_set(*st, pid);
@@ -861,7 +856,7 @@
 static VALUE
 detach_process_watcher(void *arg)
 {
-    rb_pid_t cpid, pid = (rb_pid_t)arg;
+    rb_pid_t cpid, pid = (rb_pid_t)(VALUE)arg;
     int status;
 
     while ((cpid = rb_waitpid(pid, &status, 0)) == 0) {
@@ -873,7 +868,7 @@
 VALUE
 rb_detach_process(rb_pid_t pid)
 {
-    return rb_thread_create(detach_process_watcher, (void*)pid);
+    return rb_thread_create(detach_process_watcher, (void*)(VALUE)pid);
 }
 
 
Index: version.h
===================================================================
--- version.h	(revision 13525)
+++ version.h	(revision 13526)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2007-09-26"
+#define RUBY_RELEASE_DATE "2007-09-27"
 #define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20070926
+#define RUBY_RELEASE_CODE 20070927
 #define RUBY_PATCHLEVEL 0
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 0
 #define RUBY_RELEASE_YEAR 2007
 #define RUBY_RELEASE_MONTH 9
-#define RUBY_RELEASE_DAY 26
+#define RUBY_RELEASE_DAY 27
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];

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

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