summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/pthreadequal.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/posix/src/pthreadequal.c')
-rw-r--r--cpukit/posix/src/pthreadequal.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/cpukit/posix/src/pthreadequal.c b/cpukit/posix/src/pthreadequal.c
index 86db43767a..8d82d8d545 100644
--- a/cpukit/posix/src/pthreadequal.c
+++ b/cpukit/posix/src/pthreadequal.c
@@ -53,12 +53,6 @@ int pthread_equal(
(void) _POSIX_Threads_Get( t1, &location );
switch ( location ) {
-#if defined(RTEMS_MULTIPROCESSING)
- case OBJECTS_REMOTE:
-#endif
- case OBJECTS_ERROR:
- /* return status == 0 */
- break;
case OBJECTS_LOCAL:
@@ -68,20 +62,30 @@ int pthread_equal(
(void) _POSIX_Threads_Get( t2, &location );
switch ( location ) {
+
+ case OBJECTS_LOCAL:
+ status = _Objects_Are_ids_equal( t1, t2 );
+ _Thread_Unnest_dispatch();
+ _Thread_Enable_dispatch();
+ break;
+
case OBJECTS_ERROR:
case OBJECTS_REMOTE:
/* t1 must have been valid so exit the critical section */
_Thread_Enable_dispatch();
/* return status == 0 */
break;
- case OBJECTS_LOCAL:
- status = _Objects_Are_ids_equal( t1, t2 );
- _Thread_Unnest_dispatch();
- _Thread_Enable_dispatch();
- break;
}
break;
+
+#if defined(RTEMS_MULTIPROCESSING)
+ case OBJECTS_REMOTE:
+#endif
+ case OBJECTS_ERROR:
+ /* return status == 0 */
+ break;
}
+
return status;
#endif
}