diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1998-05-08 17:04:12 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1998-05-08 17:04:12 +0000 |
commit | ce49af958c8b39d39a86a6efa851dcabeb31b489 (patch) | |
tree | af796e3b46ddbae1c1de959b41c289a4c42fe0f4 /ace | |
parent | 5dfc87f4054f105d2300a09b371b50da5aaacb42 (diff) | |
download | ATCD-ce49af958c8b39d39a86a6efa851dcabeb31b489.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace')
-rw-r--r-- | ace/Map_Manager.cpp | 12 | ||||
-rw-r--r-- | ace/Thread_Manager.cpp | 11 |
2 files changed, 16 insertions, 7 deletions
diff --git a/ace/Map_Manager.cpp b/ace/Map_Manager.cpp index c37691ab1a2..3b0ea0c5504 100644 --- a/ace/Map_Manager.cpp +++ b/ace/Map_Manager.cpp @@ -198,11 +198,13 @@ ACE_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::open (size_t size, this->allocator_ = alloc; - // If we need to grow buffer, then remove the existing buffer. - if (this->total_size_ < size) - return this->resize_i (size); - else - return 0; + // This assertion is here to help track a situation that shouldn't happen + ACE_ASSERT (size != 0); + + // Calling this->close_i () to ensure we release previous allocated + // memory before allocating new one. + this->close_i (); + return this->resize_i (size); } template <class EXT_ID, class INT_ID, class ACE_LOCK> int diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp index e29f2fe96cd..92a552a801a 100644 --- a/ace/Thread_Manager.cpp +++ b/ace/Thread_Manager.cpp @@ -1082,7 +1082,11 @@ ACE_Thread_Manager::get_grp (ACE_thread_t t_id, int &grp_id) ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1)); ACE_FIND (this->find_thread (t_id), ptr); - grp_id = ptr->grp_id_; + + if (ptr) + grp_id = ptr->grp_id_; + else + return -1; return 0; } @@ -1095,7 +1099,10 @@ ACE_Thread_Manager::set_grp (ACE_thread_t t_id, int grp_id) ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1)); ACE_FIND (this->find_thread (t_id), ptr); - ptr->grp_id_ = grp_id; + if (ptr) + ptr->grp_id_ = grp_id; + else + return -1; return 0; } |