neighbor/smbclient: use std::lock_guard

This commit is contained in:
Max Kellermann 2019-04-25 19:23:52 +02:00
parent c75a0f7c75
commit d38a079ba1

View File

@ -94,10 +94,11 @@ SmbclientNeighborExplorer::Open()
void void
SmbclientNeighborExplorer::Close() noexcept SmbclientNeighborExplorer::Close() noexcept
{ {
mutex.lock(); {
const std::lock_guard<Mutex> lock(mutex);
quit = true; quit = true;
cond.signal(); cond.signal();
mutex.unlock(); }
thread.Join(); thread.Join();
} }
@ -237,7 +238,7 @@ SmbclientNeighborExplorer::ThreadFunc() noexcept
{ {
SetThreadName("smbclient"); SetThreadName("smbclient");
mutex.lock(); const std::lock_guard<Mutex> lock(mutex);
while (!quit) { while (!quit) {
Run(); Run();
@ -248,8 +249,6 @@ SmbclientNeighborExplorer::ThreadFunc() noexcept
// TODO: sleep for how long? // TODO: sleep for how long?
cond.timed_wait(mutex, std::chrono::seconds(10)); cond.timed_wait(mutex, std::chrono::seconds(10));
} }
mutex.unlock();
} }
static std::unique_ptr<NeighborExplorer> static std::unique_ptr<NeighborExplorer>