summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport_Cache_Manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Transport_Cache_Manager.cpp')
-rw-r--r--TAO/tao/Transport_Cache_Manager.cpp21
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::