mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +00:00
Make BufferParams::auto_packages() threadsafe
This commit is contained in:
parent
4bfca60359
commit
e7c41b5f56
@ -52,6 +52,7 @@
|
|||||||
#include "support/filetools.h"
|
#include "support/filetools.h"
|
||||||
#include "support/gettext.h"
|
#include "support/gettext.h"
|
||||||
#include "support/Messages.h"
|
#include "support/Messages.h"
|
||||||
|
#include "support/mutex.h"
|
||||||
#include "support/Translator.h"
|
#include "support/Translator.h"
|
||||||
#include "support/lstrings.h"
|
#include "support/lstrings.h"
|
||||||
|
|
||||||
@ -446,10 +447,16 @@ void BufferParams::use_package(std::string const & p, BufferParams::Package u)
|
|||||||
|
|
||||||
map<string, string> const & BufferParams::auto_packages()
|
map<string, string> const & BufferParams::auto_packages()
|
||||||
{
|
{
|
||||||
// FIXME THREAD
|
|
||||||
// It is extremely unlikely that there could be a problem here, but...
|
|
||||||
static map<string, string> packages;
|
static map<string, string> packages;
|
||||||
if (packages.empty()) {
|
if (packages.empty()) {
|
||||||
|
// We could have a race condition here that two threads
|
||||||
|
// discover an empty map at the same time and want to fill
|
||||||
|
// it, but that is no problem, since the same contents is
|
||||||
|
// filled in twice then. Having the locker inside the
|
||||||
|
// packages.empty() condition has the advantage that we
|
||||||
|
// don't need the mutex overhead for simple reading.
|
||||||
|
static Mutex mutex;
|
||||||
|
Mutex::Locker locker(&mutex);
|
||||||
// adding a package here implies a file format change!
|
// adding a package here implies a file format change!
|
||||||
packages["amsmath"] =
|
packages["amsmath"] =
|
||||||
N_("The LaTeX package amsmath is only used if AMS formula types or symbols from the AMS math toolbars are inserted into formulas");
|
N_("The LaTeX package amsmath is only used if AMS formula types or symbols from the AMS math toolbars are inserted into formulas");
|
||||||
|
Loading…
Reference in New Issue
Block a user