summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-13 07:04:13 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-20 07:49:37 +0200
commit232147ddc12d45ff7872f72a790077c26fe5ca0a (patch)
tree8f109308063147a5340b49141890837b10c645ff /cpukit/score/include/rtems
parentscore: Rework _Thread_Exit() (diff)
downloadrtems-232147ddc12d45ff7872f72a790077c26fe5ca0a.tar.bz2
score: Add _Thread_Join() and _Thread_Cancel()
Split _Thread_Close() into _Thread_Join() and _Thread_Cancel() to prepare for a re-use in pthread_join() and pthread_cancel(). Update #2555. Update #2626.
Diffstat (limited to '')
-rw-r--r--cpukit/score/include/rtems/score/statesimpl.h2
-rw-r--r--cpukit/score/include/rtems/score/thread.h9
-rw-r--r--cpukit/score/include/rtems/score/threadimpl.h9
3 files changed, 9 insertions, 11 deletions
diff --git a/cpukit/score/include/rtems/score/statesimpl.h b/cpukit/score/include/rtems/score/statesimpl.h
index f3c2293b96..8aebba068e 100644
--- a/cpukit/score/include/rtems/score/statesimpl.h
+++ b/cpukit/score/include/rtems/score/statesimpl.h
@@ -76,8 +76,6 @@ extern "C" {
#define STATES_WAITING_FOR_SYSTEM_EVENT 0x40000
/** This macro corresponds to a task waiting for BSD wakeup. */
#define STATES_WAITING_FOR_BSD_WAKEUP 0x80000
-/** This macro corresponds to a task waiting for a task termination. */
-#define STATES_WAITING_FOR_TERMINATION 0x100000
/** This macro corresponds to a task being a zombie. */
#define STATES_ZOMBIE 0x200000
/** This macro corresponds to a task restarting. */
diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h
index d69967bde8..9b35b85f91 100644
--- a/cpukit/score/include/rtems/score/thread.h
+++ b/cpukit/score/include/rtems/score/thread.h
@@ -543,15 +543,6 @@ typedef struct {
* @brief The current thread life state.
*/
Thread_Life_state state;
-
- /**
- * @brief The terminator thread of this thread.
- *
- * In case the thread is terminated and another thread (the terminator) waits
- * for the actual termination completion, then this field references the
- * terminator thread.
- */
- Thread_Control *terminator;
} Thread_Life_control;
#if defined(RTEMS_SMP)
diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h
index e68f1191f8..eee896dd4b 100644
--- a/cpukit/score/include/rtems/score/threadimpl.h
+++ b/cpukit/score/include/rtems/score/threadimpl.h
@@ -213,6 +213,15 @@ void _Thread_Kill_zombies( void );
void _Thread_Exit( Thread_Control *executing );
+void _Thread_Join(
+ Thread_Control *the_thread,
+ States_Control waiting_for_join,
+ Thread_Control *executing,
+ ISR_lock_Context *lock_context
+);
+
+void _Thread_Cancel( Thread_Control *the_thread, Thread_Control *executing );
+
/**
* @brief Closes the thread.
*