summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2003-04-27 00:26:09 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2003-04-27 00:26:09 +0000
commit036a8d3337cf70c5df3c58d8a961aace10b2a207 (patch)
treee6240d3e868a452f5655888a54d0fe7a4c3260cc /TAO
parent7b744a0d1950f5ac21c779409f1bb2a39214bb8a (diff)
downloadATCD-036a8d3337cf70c5df3c58d8a961aace10b2a207.tar.gz
ChangeLogTag:Sat Apr 26 12:00:36 2003 Venkita Subramonian <venkita@cs.wustl.edu>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog10
-rw-r--r--TAO/tao/PortableServer/Servant_Base.cpp10
-rw-r--r--TAO/tao/PortableServer/Servant_Base.h9
-rw-r--r--TAO/utils/IOR-parser/ior-handler.cpp4
4 files changed, 26 insertions, 7 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 6aa3479525a..51e594991e9 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,13 @@
+Sat Apr 26 16:08:15 2003 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * tao/PortableServer/Servant_Base.{h,cpp} Added an accessor method
+ that returns the current reference count. Thanks to
+ Zsolt Zsoldos <zsolt.zsoldos@rogers.com> for suggesting this.
+
+ * utils/IOR-parser/ior-handler.cpp (interpretIor): Fixed this utility
+ so that it correctly handles GIOP 1.2! Thanks to Dave Ryan
+ <djryan7@pacbell.net> for this fix.
+
Sat Apr 26 11:12:53 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* orbsvcs/orbsvcs/Runtime_Scheduler.cpp: Fixed a compile error in
diff --git a/TAO/tao/PortableServer/Servant_Base.cpp b/TAO/tao/PortableServer/Servant_Base.cpp
index 2b6843ed37f..32b3f9b5bf1 100644
--- a/TAO/tao/PortableServer/Servant_Base.cpp
+++ b/TAO/tao/PortableServer/Servant_Base.cpp
@@ -360,9 +360,13 @@ TAO_RefCountServantBase::_remove_ref (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
const CORBA::ULong new_count = --this->ref_count_;
if (new_count == 0)
- {
- delete this;
- }
+ delete this;
+}
+
+long
+TAO_RefCountServantBase::_ref_count (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) const
+{
+ return this->ref_count_.value ();
}
TAO_RefCountServantBase::TAO_RefCountServantBase (void)
diff --git a/TAO/tao/PortableServer/Servant_Base.h b/TAO/tao/PortableServer/Servant_Base.h
index c03f51ea213..545e50a77ae 100644
--- a/TAO/tao/PortableServer/Servant_Base.h
+++ b/TAO/tao/PortableServer/Servant_Base.h
@@ -6,11 +6,10 @@
*
* $Id$
*
- * @author Irfan Pyarali
+ * @author Irfan Pyarali <irfan@cs.wustl.edu>
*/
//=============================================================================
-
#ifndef TAO_SERVANT_BASE_H
#define TAO_SERVANT_BASE_H
#include "ace/pre.h"
@@ -170,6 +169,12 @@ public:
*/
virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ /**
+ * Returns the current reference count value. This method is
+ * non-standard and is only here to simplify debugging.
+ */
+ virtual long _ref_count (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) const;
+
protected:
/// Constructor: initial reference count is one.
diff --git a/TAO/utils/IOR-parser/ior-handler.cpp b/TAO/utils/IOR-parser/ior-handler.cpp
index 59fcc361322..288fa63e2d2 100644
--- a/TAO/utils/IOR-parser/ior-handler.cpp
+++ b/TAO/utils/IOR-parser/ior-handler.cpp
@@ -367,10 +367,10 @@ IorHandler::interpretIor (char *thisIor, struct IOR_Manager *thisIorInfo)
ulongValue = getOctet2Field((char *)(thisIor + numHexCharsRead),
&numCharsToSkip);
- if ((ulongValue != 0) && (ulongValue != 1))
+ if ((ulongValue != 0) && (ulongValue != 1) && (ulongValue != 2))
{
ACE_DEBUG ((LM_DEBUG,
- "IIOP minor version != 0 or 1\n"));
+ "IIOP minor version != 0, 1, or 2\n"));
ACE_OS::exit (1);
}