diff options
author | Michi Henning <michi@zeroc.com> | 2005-07-04 02:06:23 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2005-07-04 02:06:23 +0000 |
commit | 11440f12c77b43a7d43e948e15df35c4b71c7e00 (patch) | |
tree | a93bf57b23a16939e6e1c99f42b9263191247704 /cpp/src/IceUtil/GCShared.cpp | |
parent | Made Ice.ObjectImpl abstract. (diff) | |
download | ice-11440f12c77b43a7d43e948e15df35c4b71c7e00.tar.bz2 ice-11440f12c77b43a7d43e948e15df35c4b71c7e00.tar.xz ice-11440f12c77b43a7d43e948e15df35c4b71c7e00.zip |
Made Ice::Object abstract.
Diffstat (limited to 'cpp/src/IceUtil/GCShared.cpp')
-rw-r--r-- | cpp/src/IceUtil/GCShared.cpp | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/cpp/src/IceUtil/GCShared.cpp b/cpp/src/IceUtil/GCShared.cpp deleted file mode 100644 index 71342f6a860..00000000000 --- a/cpp/src/IceUtil/GCShared.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#include <IceUtil/GCShared.h> - -namespace IceUtil -{ - -GCObjectSet gcObjects; - -} - -using namespace IceUtil; - -IceUtil::GCShared::GCShared() : - _ref(0), - _noDelete(false) -{ -} - -IceUtil::GCShared::~GCShared() -{ -} - -void -IceUtil::GCShared::__incRef() -{ - gcRecMutex._m->lock(); - assert(_ref >= 0); - ++_ref; - gcRecMutex._m->unlock(); -} - -void -IceUtil::GCShared::__decRef() -{ - gcRecMutex._m->lock(); - bool doDelete = false; - assert(_ref > 0); - if(--_ref == 0) - { - doDelete = !_noDelete; - _noDelete = true; - } - gcRecMutex._m->unlock(); - if(doDelete) - { - delete this; - } -} - -int -IceUtil::GCShared::__getRef() const -{ - gcRecMutex._m->lock(); - int ref = _ref; - gcRecMutex._m->unlock(); - return ref; -} - -void -IceUtil::GCShared::__setNoDelete(bool b) -{ - gcRecMutex._m->lock(); - _noDelete = b; - gcRecMutex._m->unlock(); -} - -void -IceUtil::GCShared::__addObject(GCObjectMultiSet& c, GCShared* p) -{ - gcRecMutex._m->lock(); - if(p) - { - c.insert(p); - } - gcRecMutex._m->unlock(); -} |