Ticket #9456: impl.patch

File impl.patch, 2.1 KB (added by anonymous, 9 years ago)
  • grammar.ipp

     
    2323#include <boost/spirit/home/classic/core/non_terminal/impl/static.hpp>
    2424#include <boost/thread/tss.hpp>
    2525#include <boost/thread/mutex.hpp>
     26#include <boost/thread/lock_types.hpp>
    2627#endif
    2728
    2829///////////////////////////////////////////////////////////////////////////////
     
    178179                result(new definition_t(target_grammar->derived()));
    179180
    180181#ifdef BOOST_SPIRIT_THREADSAFE
    181             boost::mutex::scoped_lock lock(helpers.mutex());
     182            boost::unique_lock<boost::mutex> lock(helpers.mutex());
    182183#endif
    183184            helpers.push_back(this);
    184185
  • object_with_id.ipp

     
    1515
    1616#ifdef BOOST_SPIRIT_THREADSAFE
    1717#include <boost/thread/mutex.hpp>
     18#include <boost/thread/lock_types.hpp>
    1819#include <boost/thread/once.hpp>
    1920#endif
    2021
     
    99100        object_with_id_base_supply<IdT>::acquire()
    100101        {
    101102#ifdef BOOST_SPIRIT_THREADSAFE
    102             boost::mutex::scoped_lock lock(mutex);
     103            boost::unique_lock<boost::mutex> lock(mutex);
    103104#endif
    104105            if (free_ids.size())
    105106            {
     
    121122        object_with_id_base_supply<IdT>::release(IdT id)
    122123        {
    123124#ifdef BOOST_SPIRIT_THREADSAFE
    124             boost::mutex::scoped_lock lock(mutex);
     125            boost::unique_lock<boost::mutex> lock(mutex);
    125126#endif
    126127            if (max_id == id)
    127128                max_id--;
     
    139140                static boost::once_flag been_here = BOOST_ONCE_INIT;
    140141                boost::call_once(been_here, mutex_init);
    141142                boost::mutex &mutex = mutex_instance();
    142                 boost::mutex::scoped_lock lock(mutex);
     143                boost::unique_lock<boost::mutex> lock(mutex);
    143144#endif
    144145                static boost::shared_ptr<object_with_id_base_supply<IdT> >
    145146                    static_supply;