summaryrefslogtreecommitdiff
path: root/ACE/ace/Object_Manager.cpp
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2008-12-03 07:57:38 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2008-12-03 07:57:38 +0000
commite1eb83702cfe1ebc7f7a5474449b336bc897907f (patch)
tree57616aae5ae0379bae7d22cc360fcbde9da4972b /ACE/ace/Object_Manager.cpp
parent2930d7f4c50193600731490afcbb004465c26640 (diff)
downloadATCD-e1eb83702cfe1ebc7f7a5474449b336bc897907f.tar.gz
Wed Dec 3 07:55:00 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'ACE/ace/Object_Manager.cpp')
-rw-r--r--ACE/ace/Object_Manager.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/ACE/ace/Object_Manager.cpp b/ACE/ace/Object_Manager.cpp
index a2729403920..f6986c58c6e 100644
--- a/ACE/ace/Object_Manager.cpp
+++ b/ACE/ace/Object_Manager.cpp
@@ -465,6 +465,21 @@ ACE_Object_Manager::at_exit_i (void *object,
return exit_info_.at_exit_i (object, cleanup_hook, param);
}
+int
+ACE_Object_Manager::remove_at_exit_i (void *object)
+{
+ ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon,
+ *instance_->internal_lock_, -1));
+
+ if (shutting_down_i ())
+ {
+ errno = EAGAIN;
+ return -1;
+ }
+
+ return exit_info_.remove (object);
+}
+
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
int