From 54550e048d3a49435912797d2024f80671e93267 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 13 May 2016 08:16:30 +0200 Subject: posix: Rework pthread_join() Rework pthread_join() to use _Thread_Join(). Close #2402. Update #2555. Update #2626. Close #2714. --- cpukit/score/include/rtems/score/thread.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'cpukit/score/include/rtems/score/thread.h') diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index dce3d3bd38..352fb2e434 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -525,7 +525,8 @@ typedef struct { typedef enum { THREAD_LIFE_PROTECTED = 0x1, THREAD_LIFE_RESTARTING = 0x2, - THREAD_LIFE_TERMINATING = 0x4 + THREAD_LIFE_TERMINATING = 0x4, + THREAD_LIFE_DETACHED = 0x10 } Thread_Life_state; /** @@ -547,6 +548,18 @@ typedef struct { * @brief The count of pending life change requests. */ uint32_t pending_life_change_requests; + +#if defined(RTEMS_POSIX_API) + /** + * @brief The thread exit value. + * + * It is, + * - the value passed to pthread_exit(), or + * - PTHREAD_CANCELED in case it is cancelled via pthread_cancel(), or + * - NULL. + */ + void *exit_value; +#endif } Thread_Life_control; #if defined(RTEMS_SMP) -- cgit v1.2.3