]> granicus.if.org Git - curl/commitdiff
WIN32 fix, _beginthreadex() may return either 0 or -1L upon failure
authorYang Tse <yangsita@gmail.com>
Fri, 29 Jan 2010 17:47:54 +0000 (17:47 +0000)
committerYang Tse <yangsita@gmail.com>
Fri, 29 Jan 2010 17:47:54 +0000 (17:47 +0000)
lib/curl_threads.c

index 7c87c19a4d7158238ba3fcd025677a6cd8210a77..96304e440315ab7ad044efe713a94d0c162eac26 100644 (file)
@@ -101,7 +101,11 @@ curl_thread_t Curl_thread_create(unsigned int (CURL_STDCALL *func) (void*), void
 #ifdef _WIN32_WCE
   return CreateThread(NULL, 0, func, arg, 0, NULL);
 #else
-  return (curl_thread_t)_beginthreadex(NULL, 0, func, arg, 0, NULL);
+  curl_thread_t t;
+  t = (curl_thread_t)_beginthreadex(NULL, 0, func, arg, 0, NULL);
+  if((t == 0) || (t == (curl_thread_t)-1L))
+    return curl_thread_t_null;
+  return t;
 #endif
 }