summaryrefslogtreecommitdiff
path: root/ace/Token_Invariants.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Token_Invariants.cpp')
-rw-r--r--ace/Token_Invariants.cpp343
1 files changed, 0 insertions, 343 deletions
diff --git a/ace/Token_Invariants.cpp b/ace/Token_Invariants.cpp
deleted file mode 100644
index a9a18f7b5f8..00000000000
--- a/ace/Token_Invariants.cpp
+++ /dev/null
@@ -1,343 +0,0 @@
-// Token_Invariants.cpp
-// $Id$
-
-#define ACE_BUILD_DLL
-#include "ace/Token_Invariants.h"
-
-#if !defined (__ACE_INLINE__)
-#include "ace/Token_Invariants.i"
-#endif /* __ACE_INLINE__ */
-
-// Lock the creation of the Singleton.
-ACE_TOKEN_CONST::MUTEX ACE_Token_Invariant_Manager::creation_lock_;
-ACE_Token_Invariant_Manager *ACE_Token_Invariant_Manager::instance_ = 0;
-
-ACE_Token_Invariant_Manager *
-ACE_Token_Invariant_Manager::instance (void)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::instance");
-
- // Perform the Double-Check pattern...
- if (instance_ == 0)
- {
- ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, creation_lock_, 0);
-
- if (instance_ == 0)
- ACE_NEW_RETURN (instance_, ACE_Token_Invariant_Manager, 0);
- }
-
- return instance_;
-}
-
-ACE_Token_Invariant_Manager::ACE_Token_Invariant_Manager (void)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::ACE_Token_Invariant_Manager");
-}
-
-int
-ACE_Token_Invariant_Manager::mutex_acquired (const char *token_name)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::mutex_acquired");
-
- ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1);
-
- ACE_Mutex_Invariants *inv = 0;
- if (this->get_mutex (token_name, inv) == -1)
- return -1;
- else
- return inv->acquired ();
-}
-
-int
-ACE_Token_Invariant_Manager::acquired (const ACE_Token_Proxy *proxy)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::acquired");
-
- // Reach into the proxy to find the token type.
- if (proxy->token_->type () == ACE_Tokens::MUTEX)
- return this->mutex_acquired (proxy->name ());
- else // ACE_Tokens::RWLOCK.
- {
- if (proxy->type () == ACE_RW_Token::READER)
- return this->reader_acquired (proxy->name ());
- else // ACE_RW_Token::WRITER.
- return this->writer_acquired (proxy->name ());
- }
-}
-
-void
-ACE_Token_Invariant_Manager::releasing (const ACE_Token_Proxy *proxy)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::releasing");
-
- // Reach into the proxy to find the token type.
- if (proxy->token_->type () == ACE_Tokens::MUTEX)
- this->mutex_releasing (proxy->name ());
- else // ACE_Tokens::RWLOCK.
- this->rwlock_releasing (proxy->name ());
-}
-
-void
-ACE_Token_Invariant_Manager::mutex_releasing (const char *token_name)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::mutex_releasing");
- ACE_GUARD (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_);
-
- ACE_Mutex_Invariants *inv = 0;
- if (this->get_mutex (token_name, inv) == 0)
- inv->releasing ();
-}
-
-int
-ACE_Token_Invariant_Manager::reader_acquired (const char *token_name)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::reader_acquired");
- ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1);
-
- ACE_RWLock_Invariants *inv = 0;
- if (this->get_rwlock (token_name, inv) == -1)
- return -1;
- else
- return inv->reader_acquired ();
-}
-
-int
-ACE_Token_Invariant_Manager::writer_acquired (const char *token_name)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::writer_acquired");
-
- ACE_GUARD_RETURN (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_, -1);
-
- ACE_RWLock_Invariants *inv = 0;
- if (this->get_rwlock (token_name, inv) == -1)
- return -1;
- else
- return inv->writer_acquired ();
-}
-
-void
-ACE_Token_Invariant_Manager::rwlock_releasing (const char *token_name)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::rwlock_releasing");
-
- ACE_GUARD (ACE_TOKEN_CONST::MUTEX, ace_mon, this->lock_);
-
- ACE_RWLock_Invariants *inv = 0;
- if (this->get_rwlock (token_name, inv) == 0)
- inv->releasing ();
-}
-
-void
-ACE_Token_Invariant_Manager::dump (void) const
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::dump");
- ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, "mutex_collection_:\n"));
- mutex_collection_.dump ();
- ACE_DEBUG ((LM_DEBUG, "rwlock_collection_:\n"));
- rwlock_collection_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
-}
-
-
-int
-ACE_Token_Invariant_Manager::get_mutex (const char *token_name,
- ACE_Mutex_Invariants *&inv)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::get_mutex");
- TOKEN_NAME name (token_name);
- if (mutex_collection_.find (name, inv) == -1)
- // We did not find one in the collection.
- {
- ACE_Mutex_Invariants *new_invariant;
-
- ACE_NEW_RETURN (new_invariant, ACE_Mutex_Invariants, -1);
-
- if (mutex_collection_.bind (name, new_invariant) == -1)
- {
- delete new_invariant;
- return -1;
- }
-
- if (mutex_collection_.find (name, inv) == -1)
- // We did not find one in the collection.
- return -1;
- }
-
- return 0;
-}
-
-int
-ACE_Token_Invariant_Manager::get_rwlock (const char *token_name,
- ACE_RWLock_Invariants *&inv)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::get_rwlock");
- TOKEN_NAME name (token_name);
- if (rwlock_collection_.find (name, inv) == -1)
- // We did not find one in the collection.
- {
- ACE_RWLock_Invariants *new_invariant;
-
- ACE_NEW_RETURN (new_invariant, ACE_RWLock_Invariants, -1);
-
- if (rwlock_collection_.bind (name, new_invariant) == -1)
- return -1;
-
- if (rwlock_collection_.find (name, inv) == -1)
- // We did not find one in the collection.
- return -1;
- }
-
- return 0;
-}
-
-
-ACE_Token_Invariant_Manager::~ACE_Token_Invariant_Manager (void)
-{
- ACE_TRACE ("ACE_Token_Invariant_Manager::~ACE_Token_Invariant_Manager");
- MUTEX_COLLECTION_ITERATOR iterator (mutex_collection_);
-
- for (MUTEX_COLLECTION_ENTRY *temp = 0;
- iterator.next (temp) != 0;
- iterator.advance ())
- delete temp->int_id_;
-
- RWLOCK_COLLECTION_ITERATOR iterator2 (rwlock_collection_);
-
- for (RWLOCK_COLLECTION_ENTRY *temp2 = 0;
- iterator2.next (temp2) != 0;
- iterator2.advance ())
- delete temp2->int_id_;
-}
-
-// **************************************************
-// **************************************************
-// **************************************************
-
-ACE_Mutex_Invariants::ACE_Mutex_Invariants (void)
-: owners_ (0)
-{
-}
-
-int
-ACE_Mutex_Invariants::acquired (void)
-{
- if (++owners_ > 1)
- {
- owners_ = 42;
- return 0;
- }
- else
- return 1;
-}
-
-void
-ACE_Mutex_Invariants::releasing (void)
-{
- if (owners_ == 1)
- --owners_;
-}
-
-ACE_Mutex_Invariants::ACE_Mutex_Invariants (const ACE_Mutex_Invariants &rhs)
-: owners_ (rhs.owners_)
-{
-}
-
-void
-ACE_Mutex_Invariants::operator= (const ACE_Mutex_Invariants &rhs)
-{
- owners_ = rhs.owners_;
-}
-
-void
-ACE_Mutex_Invariants::dump (void) const
-{
- ACE_TRACE ("ACE_Mutex_Invariants::dump");
- ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, "owners_ = %d\n", owners_));
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
-}
-
-// **************************************************
-// **************************************************
-// **************************************************
-
-ACE_RWLock_Invariants::ACE_RWLock_Invariants (void)
-: writers_ (0),
- readers_ (0)
-{
-}
-
-int
-ACE_RWLock_Invariants::writer_acquired (void)
-{
- if (readers_ > 0)
- {
- writers_ = readers_ = 42;
- return 0;
- }
- else if (++writers_ > 1)
- {
- writers_ = readers_ = 42;
- return 0;
- }
- else
- return 1;
-}
-
-int
-ACE_RWLock_Invariants::reader_acquired (void)
-{
- if (writers_ > 0)
- {
- writers_ = readers_ = 42;
- return 0;
- }
- else
- {
- ++readers_;
- return 1;
- }
-}
-
-void
-ACE_RWLock_Invariants::releasing (void)
-{
- if (writers_ == 1)
- writers_ = 0;
- else if (readers_ > 0)
- --readers_;
-}
-
-ACE_RWLock_Invariants::ACE_RWLock_Invariants (const ACE_RWLock_Invariants &rhs)
-: writers_ (rhs.writers_),
- readers_ (rhs.readers_)
-{
-}
-
-void
-ACE_RWLock_Invariants::operator= (const ACE_RWLock_Invariants &rhs)
-{
- writers_ = rhs.writers_;
- readers_ = rhs.readers_;
-}
-
-void
-ACE_RWLock_Invariants::dump (void) const
-{
- ACE_TRACE ("ACE_RWLock_Invariants::dump");
- ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- ACE_DEBUG ((LM_DEBUG, "writers_ = %d\n",
- "readers_ = %d\n",
- writers_, readers_));
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
-}
-
-#if defined (ACE_TEMPLATES_REQUIRE_SPECIALIZATION)
-template class ACE_Map_Manager<ACE_Token_Name, ACE_Mutex_Invariants *, ACE_Null_Mutex>;
-template class ACE_Map_Iterator<ACE_Token_Name, ACE_Mutex_Invariants *, ACE_Null_Mutex>;
-template class ACE_Map_Entry<ACE_Token_Name, ACE_Mutex_Invariants *>;
-template class ACE_Map_Manager<ACE_Token_Name, ACE_RWLock_Invariants *, ACE_Null_Mutex>;
-template class ACE_Map_Iterator<ACE_Token_Name, ACE_RWLock_Invariants *, ACE_Null_Mutex>;
-template class ACE_Map_Entry<ACE_Token_Name, ACE_RWLock_Invariants *>;
-#endif /* ACE_TEMPLATES_REQUIRE_SPECIALIZATION */