diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-07-27 13:27:48 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-07-27 13:27:48 +0000 |
commit | 558ef3412c2ab483a8b474f860a2a37165a8c085 (patch) | |
tree | fc2d3101a85cb0073eb79b7b67d8efca88581ec8 /cpukit/posix | |
parent | 2011-07-26 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-558ef3412c2ab483a8b474f860a2a37165a8c085.tar.bz2 |
2011-07-27 Petr Benes <benesp16@fel.cvut.cz>
PR 1856/cpukit
* posix/src/pthread.c, posix/src/pthreadjoin.c,
score/src/rbtreeextract.c: Do not derefence NULL.
Diffstat (limited to 'cpukit/posix')
-rw-r--r-- | cpukit/posix/src/pthread.c | 2 | ||||
-rw-r--r-- | cpukit/posix/src/pthreadjoin.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index 3890144aa5..0212da3378 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -217,7 +217,7 @@ bool _POSIX_Threads_Create_extension( _Thread_queue_Initialize( &api->Join_List, THREAD_QUEUE_DISCIPLINE_FIFO, - STATES_WAITING_FOR_JOIN_AT_EXIT, + STATES_WAITING_FOR_JOIN_AT_EXIT | STATES_INTERRUPTIBLE_BY_SIGNAL, 0 ); diff --git a/cpukit/posix/src/pthreadjoin.c b/cpukit/posix/src/pthreadjoin.c index 8ee9888b94..71b0e3e27e 100644 --- a/cpukit/posix/src/pthreadjoin.c +++ b/cpukit/posix/src/pthreadjoin.c @@ -32,6 +32,7 @@ int pthread_join( Objects_Locations location; void *return_pointer; +on_EINTR: the_thread = _Thread_Get( thread, &location ); switch ( location ) { @@ -60,6 +61,11 @@ int pthread_join( _Thread_Enable_dispatch(); +/* + if ( _Thread_Executing->Wait.return_code == EINTR ) + goto on_EINTR; +*/ + if ( value_ptr ) *value_ptr = return_pointer; return 0; |