From: eb Date: Wed, 15 Jul 2009 02:47:58 +0000 (+0000) Subject: revert 11442 until I find a fix for boost 1.37 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=5d7fc58bd8198c05bd45bca958e27187e74d9406;p=debian%2Fgnuradio revert 11442 until I find a fix for boost 1.37 git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11445 221aa14e-8319-0410-a670-987f0aec2ac5 --- diff --git a/pmt/src/lib/pmt.cc b/pmt/src/lib/pmt.cc index 315ff1a4..b403c232 100644 --- a/pmt/src/lib/pmt.cc +++ b/pmt/src/lib/pmt.cc @@ -54,8 +54,6 @@ pmt_base::operator delete(void *p, size_t size) #endif -void intrusive_ptr_add_ref(pmt_base* p) { ++(p->count_); } -void intrusive_ptr_release(pmt_base* p) { if (--(p->count_) == 0 ) delete p; } pmt_base::~pmt_base() { diff --git a/pmt/src/lib/pmt.h b/pmt/src/lib/pmt.h index d495b17a..24963fee 100644 --- a/pmt/src/lib/pmt.h +++ b/pmt/src/lib/pmt.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_PMT_H #define INCLUDED_PMT_H -#include +#include #include #include #include @@ -48,10 +48,8 @@ class pmt_base; * \brief typedef for shared pointer (transparent reference counting). * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm */ -typedef boost::intrusive_ptr pmt_t; +typedef boost::shared_ptr pmt_t; -extern void intrusive_ptr_add_ref(pmt_base*); -extern void intrusive_ptr_release(pmt_base*); class pmt_exception : public std::logic_error { diff --git a/pmt/src/lib/pmt_int.h b/pmt/src/lib/pmt_int.h index af22d451..a973d30d 100644 --- a/pmt/src/lib/pmt_int.h +++ b/pmt/src/lib/pmt_int.h @@ -34,10 +34,8 @@ #define PMT_LOCAL_ALLOCATOR 0 // define to 0 or 1 class pmt_base : boost::noncopyable { - mutable boost::detail::atomic_count count_; - protected: - pmt_base() : count_(0) {}; + pmt_base(){}; virtual ~pmt_base(); public: @@ -67,9 +65,6 @@ public: virtual bool is_c32vector() const { return false; } virtual bool is_c64vector() const { return false; } - friend void intrusive_ptr_add_ref(pmt_base* p); - friend void intrusive_ptr_release(pmt_base* p); - # if (PMT_LOCAL_ALLOCATOR) void *operator new(size_t); void operator delete(void *, size_t);