event/DeferEvent: split the thread-safe version into new class InjectEvent

This commit is contained in:
Max Kellermann
2020-12-01 16:25:11 +01:00
parent 1ecbc2ff0f
commit 774b4313f2
22 changed files with 226 additions and 68 deletions

View File

@@ -21,7 +21,7 @@
#define MPD_ASYNC_INPUT_STREAM_HXX
#include "InputStream.hxx"
#include "event/DeferEvent.hxx"
#include "event/InjectEvent.hxx"
#include "util/HugeAllocator.hxx"
#include "util/CircularBuffer.hxx"
@@ -38,8 +38,8 @@ class AsyncInputStream : public InputStream {
NONE, SCHEDULED, PENDING
};
DeferEvent deferred_resume;
DeferEvent deferred_seek;
InjectEvent deferred_resume;
InjectEvent deferred_seek;
HugeArray<uint8_t> allocation;
@@ -166,7 +166,7 @@ protected:
private:
void Resume();
/* for DeferEvent */
/* for InjectEvent */
void DeferredResume() noexcept;
void DeferredSeek() noexcept;
};

View File

@@ -39,7 +39,7 @@
#include "pcm/AudioFormat.hxx"
#include "Log.hxx"
#include "event/MultiSocketMonitor.hxx"
#include "event/DeferEvent.hxx"
#include "event/InjectEvent.hxx"
#include <alsa/asoundlib.h>
@@ -80,7 +80,7 @@ class AlsaInputStream final
AlsaNonBlockPcm non_block;
DeferEvent defer_invalidate_sockets;
InjectEvent defer_invalidate_sockets;
public: