Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)

Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
This commit is contained in:
Nekotekina 2018-09-03 22:28:33 +03:00
parent 5e556a87ff
commit ca5158a03e
50 changed files with 283 additions and 382 deletions

View file

@ -188,7 +188,7 @@ namespace logs
void reset()
{
semaphore_lock lock(g_mutex);
std::lock_guard lock(g_mutex);
for (auto&& pair : get_logger()->channels)
{
@ -198,7 +198,7 @@ namespace logs
void set_level(const std::string& ch_name, level value)
{
semaphore_lock lock(g_mutex);
std::lock_guard lock(g_mutex);
get_logger()->channels[ch_name].set_level(value);
}
@ -208,7 +208,7 @@ namespace logs
{
if (!g_init)
{
semaphore_lock lock(g_mutex);
std::lock_guard lock(g_mutex);
get_logger()->messages.clear();
g_init = true;
}
@ -224,7 +224,7 @@ void logs::listener::add(logs::listener* _new)
// Get first (main) listener
listener* lis = get_logger();
semaphore_lock lock(g_mutex);
std::lock_guard lock(g_mutex);
// Install new listener at the end of linked list
while (lis->m_next || !lis->m_next.compare_and_swap_test(nullptr, _new))
@ -247,7 +247,7 @@ void logs::message::broadcast(const char* fmt, const fmt_type_info* sup, const u
// Register channel
if (ch->enabled == level::_uninit)
{
semaphore_lock lock(g_mutex);
std::lock_guard lock(g_mutex);
auto& info = get_logger()->channels[ch->name];
@ -278,7 +278,7 @@ void logs::message::broadcast(const char* fmt, const fmt_type_info* sup, const u
if (!g_init)
{
semaphore_lock lock(g_mutex);
std::lock_guard lock(g_mutex);
if (!g_init)
{
@ -468,7 +468,7 @@ logs::file_writer::~file_writer()
bool logs::file_writer::flush(u64 bufv)
{
semaphore_lock lock(m_m);
std::lock_guard lock(m_m);
const u64 st = +m_out;
const u64 end = std::min<u64>((st + s_log_size) & ~(s_log_size - 1), bufv >> 24);