diff options
author | tworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-05-06 21:57:20 +0000 |
---|---|---|
committer | tworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-05-06 21:57:20 +0000 |
commit | 670bfaa9ed57e349f881ded168b1bb075f231615 (patch) | |
tree | 4bd68e16aabc5749bdfb9981b3143323eb8f8f1b | |
parent | 8ec2923a8ad225a7103eaabbc336526c588cda67 (diff) | |
download | ATCD-670bfaa9ed57e349f881ded168b1bb075f231615.tar.gz |
Corrected error in try_lock
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp | 12 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp index 0ef57051779..4438cc8e668 100644 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp +++ b/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp @@ -32,6 +32,7 @@ CC_Lock::~CC_Lock() void CC_Lock::lock(CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_Lock::lock\n")); lock_held_++; int success = semaphore_.acquire(); if(success==-1) { @@ -41,8 +42,11 @@ void CC_Lock::lock(CORBA::Environment &_env) CORBA::Boolean CC_Lock::try_lock(CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_Lock::try_lock. ")); lock_held_++; + ACE_DEBUG((LM_DEBUG, "lock_held_: %i, ", lock_held_)); int success = semaphore_.tryacquire(); + ACE_DEBUG((LM_DEBUG, "success: %i\n", success)); if(success==-1) { if(errno==EBUSY) { lock_held_--; @@ -51,13 +55,14 @@ CORBA::Boolean CC_Lock::try_lock(CORBA::Environment &_env) else TAO_THROW_RETURN(CORBA::INTERNAL(CORBA::COMPLETED_NO), CORBA::B_FALSE); } - else { - this->lock(_env); - } + // else { + // this->lock(_env); + // } } void CC_Lock::unlock(CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_Lock::unlock\n")); if(lock_held_==0) TAO_THROW(CosConcurrencyControl::LockNotHeld); int success = semaphore_.release(); @@ -70,6 +75,7 @@ void CC_Lock::unlock(CORBA::Environment &_env) void CC_Lock::change_mode(CosConcurrencyControl::lock_mode new_mode, CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_Lock::change_mode\n")); // @@TAO Hmmm, we cannot really do anything at present since there is // only one lock per lock set and that lock is essentially a write lock if(lock_held_==0) diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp index a0bf9065291..d8d8385b5dc 100644 --- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp +++ b/TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp @@ -51,6 +51,7 @@ CC_LockSet::~CC_LockSet(void) void CC_LockSet::lock(CosConcurrencyControl::lock_mode mode, CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_LockSet::lock\n")); if(lock_==0) { ACE_NEW(lock_, CC_Lock(mode)); if(errno==ENOMEM) { @@ -73,6 +74,7 @@ void CC_LockSet::lock(CosConcurrencyControl::lock_mode mode, CORBA::Boolean CC_LockSet::try_lock(CosConcurrencyControl::lock_mode mode, CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_LockSet::try_lock\n")); TAO_TRY { return lock_->try_lock(_env); } @@ -87,6 +89,7 @@ CORBA::Boolean CC_LockSet::try_lock(CosConcurrencyControl::lock_mode mode, void CC_LockSet::unlock(CosConcurrencyControl::lock_mode mode, CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_LockSet::unlock\n")); TAO_TRY { lock_->unlock(_env); } @@ -102,6 +105,7 @@ void CC_LockSet::change_mode (CosConcurrencyControl::lock_mode held_mode, CosConcurrencyControl::lock_mode new_mode, CORBA::Environment &_env) { + ACE_DEBUG((LM_DEBUG, "CC_LockSet::change_mode\n")); TAO_TRY { lock_->change_mode(new_mode, _env); |