projects
/
platform
/
upstream
/
curl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 7.59.0
[platform/upstream/curl.git]
/
lib
/
curl_threads.c
diff --git
a/lib/curl_threads.c
b/lib/curl_threads.c
index
a78eff5
..
c1624a9
100644
(file)
--- a/
lib/curl_threads.c
+++ b/
lib/curl_threads.c
@@
-104,15
+104,22
@@
int Curl_thread_join(curl_thread_t *hnd)
curl_thread_t Curl_thread_create(unsigned int (CURL_STDCALL *func) (void *),
void *arg)
{
curl_thread_t Curl_thread_create(unsigned int (CURL_STDCALL *func) (void *),
void *arg)
{
+ curl_thread_t t;
#ifdef _WIN32_WCE
#ifdef _WIN32_WCE
-
return
CreateThread(NULL, 0, func, arg, 0, NULL);
+
t =
CreateThread(NULL, 0, func, arg, 0, NULL);
#else
#else
- curl_thread_t t;
t = (curl_thread_t)_beginthreadex(NULL, 0, func, arg, 0, NULL);
t = (curl_thread_t)_beginthreadex(NULL, 0, func, arg, 0, NULL);
- if((t == 0) || (t == (curl_thread_t)-1L))
+#endif
+ if((t == 0) || (t == LongToHandle(-1L))) {
+#ifdef _WIN32_WCE
+ DWORD gle = GetLastError();
+ errno = ((gle == ERROR_ACCESS_DENIED ||
+ gle == ERROR_NOT_ENOUGH_MEMORY) ?
+ EACCES : EINVAL);
+#endif
return curl_thread_t_null;
return curl_thread_t_null;
+ }
return t;
return t;
-#endif
}
void Curl_thread_destroy(curl_thread_t hnd)
}
void Curl_thread_destroy(curl_thread_t hnd)