sal/osl/unx/mutex.c | 2 +- sw/source/core/docnode/observablethread.cxx | 16 +--------------- sw/source/core/inc/observablethread.hxx | 13 +++++++------ 3 files changed, 9 insertions(+), 22 deletions(-)
New commits: commit c62e854ee40d427153b9f5d0c1d93b6ee0b13bfa Author: Noel Grandin <n...@peralex.com> Date: Fri Jul 11 14:41:02 2014 +0200 convert sw/ObservableThread to salhelper::SimpleReferenceObject instead of re-implementing it's own reference counting Change-Id: I2600b970544f1dfd84b987d1891c79e3c377bd1b diff --git a/sw/source/core/docnode/observablethread.cxx b/sw/source/core/docnode/observablethread.cxx index ab225eb..2be12d4 100644 --- a/sw/source/core/docnode/observablethread.cxx +++ b/sw/source/core/docnode/observablethread.cxx @@ -25,8 +25,7 @@ #i73788# */ ObservableThread::ObservableThread() - : mnRefCount( 0 ), - mnThreadID( 0 ), + : mnThreadID( 0 ), mpThreadListener() { } @@ -35,19 +34,6 @@ ObservableThread::~ObservableThread() { } -oslInterlockedCount ObservableThread::acquire() -{ - return osl_atomic_increment( &mnRefCount ); -} - -oslInterlockedCount ObservableThread::release() -{ - oslInterlockedCount nCount( osl_atomic_decrement( &mnRefCount ) ); - if ( nCount == 0 ) - delete this; - return nCount; -} - void ObservableThread::SetListener( boost::weak_ptr< IFinishedThreadListener > pThreadListener, const oslInterlockedCount nThreadID ) { diff --git a/sw/source/core/inc/observablethread.hxx b/sw/source/core/inc/observablethread.hxx index 4096f3c..13b4527 100644 --- a/sw/source/core/inc/observablethread.hxx +++ b/sw/source/core/inc/observablethread.hxx @@ -25,6 +25,7 @@ #include <boost/weak_ptr.hpp> #include <ithreadlistenerowner.hxx> +#include <salhelper/simplereferenceobject.hxx> /** class for an observable thread @@ -37,7 +38,7 @@ to notify, that the thread has finished its work. */ class ObservableThread : public osl::Thread, - public rtl::IReference + public salhelper::SimpleReferenceObject { public: @@ -46,9 +47,11 @@ class ObservableThread : public osl::Thread, void SetListener( boost::weak_ptr< IFinishedThreadListener > pThreadListener, const oslInterlockedCount nThreadID ); - // IReference - virtual oslInterlockedCount SAL_CALL acquire() SAL_OVERRIDE; - virtual oslInterlockedCount SAL_CALL release() SAL_OVERRIDE; + static inline void * operator new(std::size_t size) + { return SimpleReferenceObject::operator new(size); } + + static inline void operator delete(void * pointer) + { SimpleReferenceObject::operator delete(pointer); } protected: @@ -79,8 +82,6 @@ class ObservableThread : public osl::Thread, private: - oslInterlockedCount mnRefCount; - oslInterlockedCount mnThreadID; boost::weak_ptr< IFinishedThreadListener > mpThreadListener; commit 0cca713f69710d1312acdde9115b359dd8bfc010 Author: Noel Grandin <n...@peralex.com> Date: Fri Jul 11 14:40:18 2014 +0200 attempt to fix linux build on some older boxes, after my commit dac4ca5 "new loplugin: externalandnotdefined" Change-Id: Ibcab5f39714fb531066709e91a7322270995a6a5 diff --git a/sal/osl/unx/mutex.c b/sal/osl/unx/mutex.c index f48e2e2..66a51509 100644 --- a/sal/osl/unx/mutex.c +++ b/sal/osl/unx/mutex.c @@ -25,7 +25,7 @@ #include <pthread.h> #include <stdlib.h> -#if defined LINUX && !((__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)) /* bad hack */ +#if defined LINUX && !((__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 0)) /* bad hack */ int pthread_mutexattr_setkind_np(pthread_mutexattr_t *, int); #define pthread_mutexattr_settype pthread_mutexattr_setkind_np #define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits