aboutsummaryrefslogtreecommitdiff
path: root/pthreads/pthread_self.c
diff options
context:
space:
mode:
Diffstat (limited to 'pthreads/pthread_self.c')
-rw-r--r--pthreads/pthread_self.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/pthreads/pthread_self.c b/pthreads/pthread_self.c
index d72a0971d..9a1765f82 100644
--- a/pthreads/pthread_self.c
+++ b/pthreads/pthread_self.c
@@ -63,7 +63,7 @@ pthread_self (void)
pthread_t nil = {NULL, 0};
ptw32_thread_t * sp;
-#ifdef _UWIN
+#if defined(_UWIN)
if (!ptw32_selfThreadKey)
return nil;
#endif
@@ -95,7 +95,7 @@ pthread_self (void)
sp->detachState = PTHREAD_CREATE_DETACHED;
sp->thread = GetCurrentThreadId ();
-#ifdef NEED_DUPLICATEHANDLE
+#if defined(NEED_DUPLICATEHANDLE)
/*
* DuplicateHandle does not exist on WinCE.
*
@@ -119,6 +119,10 @@ pthread_self (void)
* Thread structs are never freed.
*/
ptw32_threadReusePush (self);
+ /*
+ * As this is a win32 thread calling us and we have failed,
+ * return a value that makes sense to win32.
+ */
return nil;
}
#endif
@@ -128,8 +132,7 @@ pthread_self (void)
* because the new handle is not yet public.
*/
sp->sched_priority = GetThreadPriority (sp->threadH);
-
- pthread_setspecific (ptw32_selfThreadKey, (void *) sp);
+ pthread_setspecific (ptw32_selfThreadKey, (void *) sp);
}
}