Bug #4553 ยป fix_msg_resources_segv.patch
| src/Wt/WMessageResources | ||
|---|---|---|
|
#include <Wt/WMessageResourceBundle>
|
||
|
#include <Wt/WDllDefs.h>
|
||
|
#ifdef WT_THREADED
|
||
|
#include <boost/thread/condition.hpp>
|
||
|
namespace boost {
|
||
|
class mutex;
|
||
|
}
|
||
|
#endif // WT_THREADED
|
||
|
namespace Wt {
|
||
|
class WString;
|
||
| ... | ... | |
|
unsigned pluralCount_;
|
||
|
};
|
||
|
#ifdef WT_THREADED
|
||
|
boost::shared_ptr<boost::mutex> dataMutex_;
|
||
|
#endif // WT_THREADED
|
||
|
Resource local_;
|
||
|
Resource defaults_;
|
||
| src/Wt/WMessageResources.C | ||
|---|---|---|
|
#include <boost/bind.hpp>
|
||
|
#ifdef WT_THREADED
|
||
|
#include <boost/thread/mutex.hpp>
|
||
|
#endif // WT_THREADED
|
||
|
namespace {
|
||
|
#if BOOST_VERSION < 103600
|
||
| ... | ... | |
|
loaded_(false),
|
||
|
path_(path),
|
||
|
builtin_(0)
|
||
|
#ifdef WT_THREADED
|
||
|
,dataMutex_(new boost::mutex)
|
||
|
#endif // WT_THREADED
|
||
|
{ }
|
||
|
WMessageResources::WMessageResources(const char *builtin)
|
||
| ... | ... | |
|
void WMessageResources::hibernate()
|
||
|
{
|
||
|
if (!loadInMemory_) {
|
||
|
#ifdef WT_THREADED
|
||
|
boost::mutex::scoped_lock lock(*dataMutex_);
|
||
|
#endif // WT_THREADED
|
||
|
defaults_.map_.clear();
|
||
|
local_.map_.clear();
|
||
|
loaded_ = false;
|
||