Files
subconverter/multithread.cpp
Tindy X 16b7b74260 Bug fixes
Fix a potential problem with multi-thread server.
Fix support for generating Mellow configuration.
2019-11-24 00:44:38 +08:00

49 lines
794 B
C++

#include <mutex>
#include "misc.h"
//safety lock for multi-thread
typedef std::lock_guard<std::mutex> guarded_mutex;
std::mutex on_configuring, on_emoji, on_rename;
extern string_array emojis, renames;
void try_config_lock()
{
guarded_mutex guard(on_configuring);
}
void try_emoji_lock()
{
guarded_mutex guard(on_emoji);
}
void try_rename_lock()
{
guarded_mutex guard(on_rename);
}
string_array safe_get_emojis()
{
guarded_mutex guard(on_emoji);
return emojis;
}
string_array safe_get_renames()
{
guarded_mutex guard(on_rename);
return renames;
}
void safe_set_emojis(string_array &data)
{
guarded_mutex guard(on_emoji);
emojis.swap(data);
}
void safe_set_renames(string_array &data)
{
guarded_mutex guard(on_rename);
renames.swap(data);
}