summaryrefslogtreecommitdiff
path: root/ace/Thread_Manager.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1996-11-28 07:14:18 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1996-11-28 07:14:18 +0000
commitad66c757e62495734e28c3f3bbc33a9fd29217d3 (patch)
treeb679cecc050588c642722e7dffd780ed81a442eb /ace/Thread_Manager.cpp
parentd395a38d42932c86ebef82468f58c03b3529363e (diff)
downloadATCD-ad66c757e62495734e28c3f3bbc33a9fd29217d3.tar.gz
yow
Diffstat (limited to 'ace/Thread_Manager.cpp')
-rw-r--r--ace/Thread_Manager.cpp10
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