Ticket #9461: static_mutex.patch

File static_mutex.patch, 1.3 KB (added by anonymous, 9 years ago)
  • boost/regex/pending/static_mutex.hpp

     
    127127//
    128128#define B1 <boost/thread/once.hpp>
    129129#define B2 <boost/thread/recursive_mutex.hpp>
     130#define B3 <boost/thread/lock_types.hpp>
    130131#include B1
    131132#include B2
     133#include B3
    132134#undef B1
    133135#undef B2
     136#undef B3
    134137
    135138namespace boost{
    136139
     
    158161   void lock();
    159162   void unlock();
    160163private:
    161    boost::recursive_mutex::scoped_lock* m_plock;
     164   boost::unique_lock<boost::recursive_mutex>* m_plock;
    162165   bool m_have_lock;
    163166};
    164167
  • libs/regex/src/static_mutex.cpp

     
    157157   {
    158158       boost::call_once(static_mutex::m_once,&static_mutex::init);
    159159      if(0 == m_plock)
    160          m_plock = new boost::recursive_mutex::scoped_lock(*static_mutex::m_pmutex, boost::defer_lock);
     160         m_plock = new boost::unique_lock<boost::recursive_mutex>(*static_mutex::m_pmutex, boost::defer_lock);
    161161      m_plock->lock();
    162162      m_have_lock = true;
    163163   }