summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp
diff options
context:
space:
mode:
authortworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-05-06 21:57:20 +0000
committertworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-05-06 21:57:20 +0000
commit670bfaa9ed57e349f881ded168b1bb075f231615 (patch)
tree4bd68e16aabc5749bdfb9981b3143323eb8f8f1b /TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp
parent8ec2923a8ad225a7103eaabbc336526c588cda67 (diff)
downloadATCD-670bfaa9ed57e349f881ded168b1bb075f231615.tar.gz
Corrected error in try_lock
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp12
1 files changed, 9 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)