diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-28 07:14:18 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-11-28 07:14:18 +0000 |
commit | ad66c757e62495734e28c3f3bbc33a9fd29217d3 (patch) | |
tree | b679cecc050588c642722e7dffd780ed81a442eb /ace/Thread_Manager.cpp | |
parent | d395a38d42932c86ebef82468f58c03b3529363e (diff) | |
download | ATCD-ad66c757e62495734e28c3f3bbc33a9fd29217d3.tar.gz |
yow
Diffstat (limited to 'ace/Thread_Manager.cpp')
-rw-r--r-- | ace/Thread_Manager.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp index 388f83f1a9f..1573e94ed26 100644 --- a/ace/Thread_Manager.cpp +++ b/ace/Thread_Manager.cpp @@ -435,13 +435,17 @@ ACE_Thread_Manager::kill_thr (int i, int signum) { ACE_TRACE ("ACE_Thread_Manager::kill_thr"); - int result = ACE_Thread::kill ((ACE_thread_t) this->thr_table_[i].thr_handle_, + int result = ACE_Thread::kill ((ACE_thread_t) this->thr_table_[i].thr_id_, signum); - if (result != 0) + if (result != 0) { + // We need to save this across calls to remove_thr() since that + // call may reset errno. + int error = errno; + this->remove_thr (i); - errno = result; + errno = error; return -1; } else |