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

ruby-changes:29399

From: nobu <ko1@a...>
Date: Thu, 20 Jun 2013 03:08:43 +0900 (JST)
Subject: [ruby-changes:29399] nobu:r41450 (trunk): win32.c: no error after retry

nobu	2013-06-20 03:08:28 +0900 (Thu, 20 Jun 2013)

  New Revision: 41450

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

  Log:
    win32.c: no error after retry
    
    * win32/win32.c (waitpid): return 0 on error after retried.

  Modified files:
    trunk/win32/win32.c

Index: win32/win32.c
===================================================================
--- win32/win32.c	(revision 41449)
+++ win32/win32.c	(revision 41450)
@@ -4144,6 +4144,7 @@ waitpid(rb_pid_t pid, int *stat_loc, int https://github.com/ruby/ruby/blob/trunk/win32/win32.c#L4144
     }
     else {
 	struct ChildRecord* child = FindChildSlot(pid);
+	int retried = 0;
 	if (!child) {
 	    errno = ECHILD;
 	    return -1;
@@ -4157,8 +4158,10 @@ waitpid(rb_pid_t pid, int *stat_loc, int https://github.com/ruby/ruby/blob/trunk/win32/win32.c#L4158
 		    pid = 0;
 		    break;
 		}
+		++retried;
 	    }
 	}
+	if (pid == -1 && retried) pid = 0;
     }
 
     return pid;

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

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