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

ruby-changes:13924

From: nobu <ko1@a...>
Date: Thu, 12 Nov 2009 14:34:42 +0900 (JST)
Subject: [ruby-changes:13924] Ruby:r25728 (trunk): * thread_win32.c (thread_errno): CreateThread does not set errno.

nobu	2009-11-12 14:33:23 +0900 (Thu, 12 Nov 2009)

  New Revision: 25728

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

  Log:
    * thread_win32.c (thread_errno): CreateThread does not set errno.

  Modified files:
    trunk/ChangeLog
    trunk/thread_win32.c

Index: thread_win32.c
===================================================================
--- thread_win32.c	(revision 25727)
+++ thread_win32.c	(revision 25728)
@@ -176,9 +176,11 @@
 
 #ifdef HAVE__BEGINTHREADEX
 #define start_thread (HANDLE)_beginthreadex
+#define thread_errno errno
 typedef unsigned long (_stdcall *w32_thread_start_func)(void*);
 #else
 #define start_thread CreateThread
+#define thread_errno rb_w32_map_errno(GetLastError())
 typedef LPTHREAD_START_ROUTINE w32_thread_start_func;
 #endif
 
@@ -479,7 +481,7 @@
     th->thread_id = w32_create_thread(stack_size, thread_start_func_1, th);
 
     if ((th->thread_id) == 0) {
-	return errno ? errno : -1;
+	return thread_errno;
     }
 
     w32_resume_thread(th->thread_id);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 25727)
+++ ChangeLog	(revision 25728)
@@ -1,5 +1,7 @@
-Thu Nov 12 13:57:37 2009  Nobuyoshi Nakada  <nobu@r...>
+Thu Nov 12 14:33:21 2009  Nobuyoshi Nakada  <nobu@r...>
 
+	* thread_win32.c (thread_errno): CreateThread does not set errno.
+
 	* thread.c (thread_create_core): moved failure handling from
 	  native_thread_core().
 

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

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