decoder/Control: use ScopeLock

This commit is contained in:
Max Kellermann 2015-12-31 13:45:10 +01:00
parent ef260377c3
commit 2939fadd6a
2 changed files with 13 additions and 27 deletions

View File

@ -90,7 +90,7 @@ DecoderControl::Start(DetachedSong *_song,
void
DecoderControl::Stop()
{
Lock();
const ScopeLock protect(mutex);
if (command != DecoderCommand::NONE)
/* Attempt to cancel the current command. If it's too
@ -101,8 +101,6 @@ DecoderControl::Stop()
if (state != DecoderState::STOP && state != DecoderState::ERROR)
SynchronousCommandLocked(DecoderCommand::STOP);
Unlock();
}
bool

View File

@ -213,10 +213,8 @@ struct DecoderControl {
gcc_pure
bool LockIsIdle() const {
Lock();
bool result = IsIdle();
Unlock();
return result;
const ScopeLock protect(mutex);
return IsIdle();
}
bool IsStarting() const {
@ -225,10 +223,8 @@ struct DecoderControl {
gcc_pure
bool LockIsStarting() const {
Lock();
bool result = IsStarting();
Unlock();
return result;
const ScopeLock protect(mutex);
return IsStarting();
}
bool HasFailed() const {
@ -239,10 +235,8 @@ struct DecoderControl {
gcc_pure
bool LockHasFailed() const {
Lock();
bool result = HasFailed();
Unlock();
return result;
const ScopeLock protect(mutex);
return HasFailed();
}
/**
@ -267,10 +261,8 @@ struct DecoderControl {
*/
gcc_pure
Error LockGetError() const {
Lock();
Error result = GetError();
Unlock();
return result;
const ScopeLock protect(mutex);
return GetError();
}
/**
@ -297,10 +289,8 @@ struct DecoderControl {
gcc_pure
bool LockIsCurrentSong(const DetachedSong &_song) const {
Lock();
const bool result = IsCurrentSong(_song);
Unlock();
return result;
const ScopeLock protect(mutex);
return IsCurrentSong(_song);
}
private:
@ -336,17 +326,15 @@ private:
* object.
*/
void LockSynchronousCommand(DecoderCommand cmd) {
Lock();
const ScopeLock protect(mutex);
ClearError();
SynchronousCommandLocked(cmd);
Unlock();
}
void LockAsynchronousCommand(DecoderCommand cmd) {
Lock();
const ScopeLock protect(mutex);
command = cmd;
Signal();
Unlock();
}
public: