mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2025-10-28 12:22:37 +00:00
Fix a potential problem with multi-thread server. Fix support for generating Mellow configuration.
49 lines
794 B
C++
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);
|
|
}
|