cppu/source/threadpool/jobqueue.cxx | 22 ++++++--------------- cppu/source/threadpool/jobqueue.hxx | 5 +--- cppu/source/threadpool/threadpool.cxx | 16 +++++++-------- cppu/source/threadpool/threadpool.hxx | 7 ++++-- filter/source/xsltfilter/XSLTFilter.cxx | 33 +++++++++++--------------------- io/source/stm/opipe.cxx | 16 ++++++--------- 6 files changed, 41 insertions(+), 58 deletions(-)
New commits: commit 6b7c23b3fb6175c04fcc3f1e12b34bedf5f4e5f8 Author: Stephan Bergmann <sberg...@redhat.com> Date: Tue Aug 18 08:15:56 2015 +0200 Some oslCondition -> osl::Condition Change-Id: Ib2c98db9ffd5871b6422c05f0230bbe27d1ba729 diff --git a/io/source/stm/opipe.cxx b/io/source/stm/opipe.cxx index 4315a99..5c8af3e 100644 --- a/io/source/stm/opipe.cxx +++ b/io/source/stm/opipe.cxx @@ -116,7 +116,7 @@ private: bool m_bOutputStreamClosed; bool m_bInputStreamClosed; - oslCondition m_conditionBytesAvail; + osl::Condition m_conditionBytesAvail; Mutex m_mutexAccess; I_FIFO *m_pFIFO; }; @@ -131,12 +131,10 @@ OPipeImpl::OPipeImpl() m_bInputStreamClosed = false; m_pFIFO = new MemFIFO; - m_conditionBytesAvail = osl_createCondition(); } OPipeImpl::~OPipeImpl() { - osl_destroyCondition( m_conditionBytesAvail ); delete m_pFIFO; } @@ -164,7 +162,7 @@ sal_Int32 OPipeImpl::readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRe if( nOccupiedBufferLen < nBytesToRead ) { // wait outside guarded section - osl_resetCondition( m_conditionBytesAvail ); + m_conditionBytesAvail.reset(); } else { // necessary bytes are available @@ -174,7 +172,7 @@ sal_Int32 OPipeImpl::readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRe } // end guarded section // wait for new data outside guarded section! - osl_waitCondition( m_conditionBytesAvail , 0 ); + m_conditionBytesAvail.wait(); } } @@ -208,7 +206,7 @@ sal_Int32 OPipeImpl::readSomeBytes(Sequence< sal_Int8 >& aData, sal_Int32 nMaxBy } } - osl_waitCondition( m_conditionBytesAvail , 0 ); + m_conditionBytesAvail.wait(); } } @@ -268,7 +266,7 @@ void OPipeImpl::closeInput() m_pFIFO = 0; // readBytes may throw an exception - osl_setCondition( m_conditionBytesAvail ); + m_conditionBytesAvail.set(); setSuccessor( Reference< XConnectable > () ); return; @@ -334,7 +332,7 @@ void OPipeImpl::writeBytes(const Sequence< sal_Int8 >& aData) } // readBytes may check again if enough bytes are available - osl_setCondition( m_conditionBytesAvail ); + m_conditionBytesAvail.set(); } @@ -355,7 +353,7 @@ void OPipeImpl::closeOutput() MutexGuard guard( m_mutexAccess ); m_bOutputStreamClosed = true; - osl_setCondition( m_conditionBytesAvail ); + m_conditionBytesAvail.set(); setPredecessor( Reference < XConnectable > () ); return; } commit 88f12d9c7e58a3465f4d9a50fafb9e47fe67c537 Author: Stephan Bergmann <sberg...@redhat.com> Date: Tue Aug 18 08:15:47 2015 +0200 Some oslCondition -> osl::Condition Change-Id: I57c10b14cd8a5ab821516575768891b66f834ca6 diff --git a/filter/source/xsltfilter/XSLTFilter.cxx b/filter/source/xsltfilter/XSLTFilter.cxx index 95a514c..c9ba40a 100644 --- a/filter/source/xsltfilter/XSLTFilter.cxx +++ b/filter/source/xsltfilter/XSLTFilter.cxx @@ -24,7 +24,7 @@ #include <sax/tools/documenthandleradapter.hxx> #include <osl/time.h> -#include <osl/conditn.h> +#include <osl/conditn.hxx> #include <rtl/strbuf.hxx> #include <tools/urlobj.hxx> @@ -110,7 +110,7 @@ namespace XSLT css::uno::Reference<xslt::XXSLTTransformer> m_tcontrol; - oslCondition m_cTransformed; + osl::Condition m_cTransformed; bool m_bTerminated; bool m_bError; @@ -128,8 +128,6 @@ namespace XSLT // ctor... XSLTFilter(const css::uno::Reference<XComponentContext> &r); - virtual ~XSLTFilter(); - // XStreamListener virtual void SAL_CALL error(const Any& a) throw (RuntimeException, std::exception) SAL_OVERRIDE; @@ -162,14 +160,7 @@ namespace XSLT XSLTFilter::XSLTFilter(const css::uno::Reference<XComponentContext> &r): m_xContext(r), m_bTerminated(false), m_bError(false) - { - m_cTransformed = osl_createCondition(); - } - - XSLTFilter::~XSLTFilter() - { - osl_destroyCondition(m_cTransformed); - } + {} void XSLTFilter::disposing(const EventObject&) throw (RuntimeException, std::exception) @@ -233,7 +224,7 @@ namespace XSLT void XSLTFilter::started() throw (RuntimeException, std::exception) { - osl_resetCondition(m_cTransformed); + m_cTransformed.reset(); } void XSLTFilter::error(const Any& a) throw (RuntimeException, std::exception) @@ -244,18 +235,18 @@ namespace XSLT SAL_WARN("filter.xslt", "XSLTFilter::error was called: " << e.Message); } m_bError = true; - osl_setCondition(m_cTransformed); + m_cTransformed.set(); } void XSLTFilter::closed() throw (RuntimeException, std::exception) { - osl_setCondition(m_cTransformed); + m_cTransformed.set(); } void XSLTFilter::terminated() throw (RuntimeException, std::exception) { m_bTerminated = true; - osl_setCondition(m_cTransformed); + m_cTransformed.set(); } OUString @@ -370,8 +361,8 @@ namespace XSLT // transform m_tcontrol->start(); TimeValue timeout = { TRANSFORMATION_TIMEOUT_SEC, 0}; - oslConditionResult result(osl_waitCondition(m_cTransformed, &timeout)); - while (osl_cond_result_timeout == result) { + osl::Condition::Result result(m_cTransformed.wait(&timeout)); + while (osl::Condition::result_timeout == result) { if (xInterActionHandler.is()) { Sequence<Any> excArgs(0); ::com::sun::star::ucb::InteractiveAugmentedIOException exc( @@ -391,10 +382,10 @@ namespace XSLT xInterActionHandler->handle(xRequest); if (pAbort->wasSelected()) { m_bError = true; - osl_setCondition(m_cTransformed); + m_cTransformed.set(); } } - result = osl_waitCondition(m_cTransformed, &timeout); + result = m_cTransformed.wait(&timeout); }; if (!m_bError) { xSaxParser->parseStream(aInput); @@ -528,7 +519,7 @@ namespace XSLT { ExtendedDocumentHandlerAdapter::endDocument(); // wait for the transformer to finish - osl_waitCondition(m_cTransformed, 0); + m_cTransformed.wait(); m_tcontrol->terminate(); if (!m_bError && !m_bTerminated) { commit 2861d5bedcc1c4f57c69faf86c5b18ce15049d06 Author: Stephan Bergmann <sberg...@redhat.com> Date: Tue Aug 18 08:15:29 2015 +0200 Some oslCondition -> osl::Condition Change-Id: I86cfbefd1cb8b22fca659a158b8e31d5c991de7a diff --git a/cppu/source/threadpool/jobqueue.cxx b/cppu/source/threadpool/jobqueue.cxx index ec7b932..c0fdd62 100644 --- a/cppu/source/threadpool/jobqueue.cxx +++ b/cppu/source/threadpool/jobqueue.cxx @@ -28,19 +28,11 @@ namespace cppu_threadpool { JobQueue::JobQueue() : m_nToDo( 0 ), - m_bSuspended( false ), - m_cndWait( osl_createCondition() ) + m_bSuspended( false ) { - osl_resetCondition( m_cndWait ); m_DisposedCallerAdmin = DisposedCallerAdmin::getInstance(); } - JobQueue::~JobQueue() - { - osl_destroyCondition( m_cndWait ); - } - - void JobQueue::add( void *pThreadSpecificData, RequestFun * doRequest ) { MutexGuard guard( m_mutex ); @@ -48,7 +40,7 @@ namespace cppu_threadpool { m_lstJob.push_back( job ); if( ! m_bSuspended ) { - osl_setCondition( m_cndWait ); + m_cndWait.set(); } m_nToDo ++; } @@ -78,7 +70,7 @@ namespace cppu_threadpool { } } - osl_waitCondition( m_cndWait , 0 ); + m_cndWait.wait(); struct Job job={0,0}; { @@ -92,7 +84,7 @@ namespace cppu_threadpool { && (m_lstCallstack.empty() || m_lstCallstack.front() != 0) ) { - osl_resetCondition( m_cndWait ); + m_cndWait.reset(); } break; } @@ -106,7 +98,7 @@ namespace cppu_threadpool { if( m_lstJob.empty() && (m_lstCallstack.empty() || m_lstCallstack.front() != 0) ) { - osl_resetCondition( m_cndWait ); + m_cndWait.reset(); } } @@ -150,7 +142,7 @@ namespace cppu_threadpool { if( !m_lstCallstack.empty() && ! m_lstCallstack.front() ) { // The thread is waiting for a disposed pCallerId, let it go - osl_setCondition( m_cndWait ); + m_cndWait.set(); } } @@ -166,7 +158,7 @@ namespace cppu_threadpool { m_bSuspended = false; if( ! m_lstJob.empty() ) { - osl_setCondition( m_cndWait ); + m_cndWait.set(); } } diff --git a/cppu/source/threadpool/jobqueue.hxx b/cppu/source/threadpool/jobqueue.hxx index 1fffa64..3a55d6b 100644 --- a/cppu/source/threadpool/jobqueue.hxx +++ b/cppu/source/threadpool/jobqueue.hxx @@ -23,7 +23,7 @@ #include <list> #include <sal/types.h> -#include <osl/conditn.h> +#include <osl/conditn.hxx> #include <osl/mutex.hxx> #include <boost/shared_ptr.hpp> @@ -49,7 +49,6 @@ namespace cppu_threadpool { public: JobQueue(); - ~JobQueue(); void add( void *pThreadSpecificData, RequestFun * doRequest ); @@ -69,7 +68,7 @@ namespace cppu_threadpool CallStackList m_lstCallstack; sal_Int32 m_nToDo; bool m_bSuspended; - oslCondition m_cndWait; + osl::Condition m_cndWait; DisposedCallerAdminHolder m_DisposedCallerAdmin; }; } diff --git a/cppu/source/threadpool/threadpool.cxx b/cppu/source/threadpool/threadpool.cxx index 965afce..6e7a2c0 100644 --- a/cppu/source/threadpool/threadpool.cxx +++ b/cppu/source/threadpool/threadpool.cxx @@ -39,6 +39,10 @@ using namespace ::rtl; namespace cppu_threadpool { + WaitingThread::WaitingThread( + rtl::Reference<ORequestThread> const & theThread): thread(theThread) + {} + struct theDisposedCallerAdmin : public rtl::StaticWithInit< DisposedCallerAdminHolder, theDisposedCallerAdmin > { @@ -138,9 +142,7 @@ namespace cppu_threadpool ******************/ void ThreadPool::waitInPool( rtl::Reference< ORequestThread > const & pThread ) { - struct WaitingThread waitingThread; - waitingThread.condition = osl_createCondition(); - waitingThread.thread = pThread; + WaitingThread waitingThread(pThread); { MutexGuard guard( m_mutexWaitingThreadList ); m_lstThreads.push_front( &waitingThread ); @@ -148,7 +150,7 @@ namespace cppu_threadpool // let the thread wait 2 seconds TimeValue time = { 2 , 0 }; - osl_waitCondition( waitingThread.condition , &time ); + waitingThread.condition.wait( &time ); { MutexGuard guard ( m_mutexWaitingThreadList ); @@ -161,8 +163,6 @@ namespace cppu_threadpool m_lstThreads.erase( ii ); } } - - osl_destroyCondition( waitingThread.condition ); } void ThreadPool::joinWorkers() @@ -174,7 +174,7 @@ namespace cppu_threadpool ++ ii ) { // wake the threads up - osl_setCondition( (*ii)->condition ); + (*ii)->condition.set(); } } m_aThreadAdmin.join(); @@ -198,7 +198,7 @@ namespace cppu_threadpool m_lstThreads.pop_back(); // let the thread go - osl_setCondition( pWaitingThread->condition ); + pWaitingThread->condition.set(); return true; } } diff --git a/cppu/source/threadpool/threadpool.hxx b/cppu/source/threadpool/threadpool.hxx index dc17d64..b13dc0f 100644 --- a/cppu/source/threadpool/threadpool.hxx +++ b/cppu/source/threadpool/threadpool.hxx @@ -23,7 +23,7 @@ #include <list> #include <unordered_map> -#include <osl/conditn.h> +#include <osl/conditn.hxx> #include <rtl/byteseq.hxx> #include <rtl/ref.hxx> @@ -70,8 +70,11 @@ namespace cppu_threadpool { struct WaitingThread { - oslCondition condition; + osl::Condition condition; rtl::Reference< ORequestThread > thread; + + explicit WaitingThread( + rtl::Reference<ORequestThread> const & theThread); }; typedef ::std::list < struct ::cppu_threadpool::WaitingThread * > WaitingThreadList; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits