diff options
Diffstat (limited to 'TAO/tao/Transport_Cache_Manager.cpp')
-rw-r--r-- | TAO/tao/Transport_Cache_Manager.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/TAO/tao/Transport_Cache_Manager.cpp b/TAO/tao/Transport_Cache_Manager.cpp index 8ff53219404..9e2e289082c 100644 --- a/TAO/tao/Transport_Cache_Manager.cpp +++ b/TAO/tao/Transport_Cache_Manager.cpp @@ -268,8 +268,13 @@ TAO_Transport_Cache_Manager::close_i (ACE_Handle_Set & /*handle_set*/) int TAO_Transport_Cache_Manager::purge_entry_i (HASH_MAP_ENTRY *&entry) { - // Remove the enrty from the Map - int retval = this->cache_map_.unbind (entry); + int retval = 0; + + if (entry) + { + // Remove the enrty from the Map + retval = this->cache_map_.unbind (entry); + } // Set the entry pointer to zero entry = 0; @@ -277,6 +282,18 @@ TAO_Transport_Cache_Manager::purge_entry_i (HASH_MAP_ENTRY *&entry) return retval; } +void +TAO_Transport_Cache_Manager::mark_invalid_i (HASH_MAP_ENTRY *&entry) +{ + if (entry) + { + // Mark the entry as not usable + entry->int_id_.recycle_state (ACE_RECYCLABLE_PURGABLE_BUT_NOT_IDLE); + } + +} + + int TAO_Transport_Cache_Manager:: |