diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2000-04-30 02:49:31 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2000-04-30 02:49:31 +0000 |
commit | 8d3010c36cf284e5197b119cd04d989b22bece1c (patch) | |
tree | 991ea01610df8367341df0cd616a848800db942f /netsvcs | |
parent | bab58c358ec7b50c984823b58a75c42354beebfa (diff) | |
download | ATCD-8d3010c36cf284e5197b119cd04d989b22bece1c.tar.gz |
ChangeLogTag:Sat Apr 29 19:45:41 2000 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'netsvcs')
-rw-r--r-- | netsvcs/lib/Log_Message_Receiver.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/netsvcs/lib/Log_Message_Receiver.cpp b/netsvcs/lib/Log_Message_Receiver.cpp index 0a10a735988..31f15910c79 100644 --- a/netsvcs/lib/Log_Message_Receiver.cpp +++ b/netsvcs/lib/Log_Message_Receiver.cpp @@ -68,29 +68,38 @@ Log_Message_Receiver_Impl<ACE_SYNCH_USE>::attach (Log_Message_Receiver_Impl<ACE_ ACE_ASSERT (body != 0); #if defined (ACE_HAS_THREADS) - #if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES) +# if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES) Guard guard (copy_lock_); - #else + if (guard.locked () == 0) + return 0; +# else // Use the "body"s print lock as copy lock. - ACE_Guard<ACE_SYNCH_MUTEX> guard (global_copy_lock_); - #endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */ + ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, + guard, + global_copy_lock_, + 0); +# endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */ #endif /* ACE_HAS_THREADS */ ++body->count_; return body; } template<ACE_SYNCH_DECL> void -Log_Message_Receiver_Impl<ACE_SYNCH_USE>::detach(Log_Message_Receiver_Impl<ACE_SYNCH_USE> *body) +Log_Message_Receiver_Impl<ACE_SYNCH_USE>::detach (Log_Message_Receiver_Impl<ACE_SYNCH_USE> *body) { ACE_ASSERT (body != 0); #if defined (ACE_HAS_THREADS) - #if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES) +# if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES) Guard guard (copy_lock_); - #else + if (guard.locked () == 0) + return; +# else // Use the "body"s print lock as copy lock. - ACE_Guard<ACE_SYNCH_MUTEX> guard (global_copy_lock_); - #endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */ + ACE_GUARD (ACE_SYNCH_MUTEX, + guard, + global_copy_lock_); +# endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */ #endif /* ACE_HAS_THREADS */ if (body->count_-- == 0) delete body; |