diff --git a/common/JackMessageBuffer.cpp b/common/JackMessageBuffer.cpp index b4ff5d11..554f7124 100644 --- a/common/JackMessageBuffer.cpp +++ b/common/JackMessageBuffer.cpp @@ -52,7 +52,7 @@ JackMessageBuffer::~JackMessageBuffer() jack_info("no message buffer overruns"); } fThread->SetStatus(JackThread::kIdle); - fSignal->SignalAll(); + fSignal->Signal(); fThread->Stop(); Flush(); delete fThread; diff --git a/common/JackProcessSync.h b/common/JackProcessSync.h index 41391217..1148cfcd 100644 --- a/common/JackProcessSync.h +++ b/common/JackProcessSync.h @@ -70,6 +70,13 @@ class JackProcessSync : public JackSyncInterface bool TimedWait(long usec); void Wait(); + + void Signal() + { + pthread_mutex_lock(&fLock); + pthread_cond_signal(&fCond); + pthread_mutex_unlock(&fLock); + } void SignalAll() { diff --git a/common/JackSyncInterface.h b/common/JackSyncInterface.h index 7a4889c3..c22dfe5d 100644 --- a/common/JackSyncInterface.h +++ b/common/JackSyncInterface.h @@ -41,6 +41,7 @@ class JackSyncInterface virtual bool Connect(const char* name) = 0; virtual bool TimedWait(long usec) = 0; virtual void Wait() = 0; + virtual void Signal() = 0; virtual void SignalAll() = 0; virtual void Destroy() = 0; }; diff --git a/macosx/Jackdmp.xcodeproj/project.pbxproj b/macosx/Jackdmp.xcodeproj/project.pbxproj index ea804d5a..0ee19c1c 100644 --- a/macosx/Jackdmp.xcodeproj/project.pbxproj +++ b/macosx/Jackdmp.xcodeproj/project.pbxproj @@ -762,28 +762,28 @@ isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4B363EDF0DEB091C001F72D9 /* jack_rec Universal */; + remoteGlobalIDString = 4B363EDF0DEB091C001F72D9; remoteInfo = "jack_rec Universal"; }; 4B363F240DEB0ABE001F72D9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4B363F140DEB0A6A001F72D9 /* jack_monitor_client Universal */; + remoteGlobalIDString = 4B363F140DEB0A6A001F72D9; remoteInfo = "jack_monitor_client Universal"; }; 4B363F520DEB0CFE001F72D9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4B363F2B0DEB0BD1001F72D9 /* jack_showtime Universal */; + remoteGlobalIDString = 4B363F2B0DEB0BD1001F72D9; remoteInfo = "jack_showtime Universal"; }; 4B363F770DEB0D85001F72D9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4B363F680DEB0D4E001F72D9 /* jack_impulse_grabber Universal */; + remoteGlobalIDString = 4B363F680DEB0D4E001F72D9; remoteInfo = "jack_impulse_grabber Universal"; }; 4B5A1BCE0CD1CCC80005BF74 /* PBXContainerItemProxy */ = { diff --git a/windows/JackWinProcessSync.h b/windows/JackWinProcessSync.h index 4570cf1f..217db825 100644 --- a/windows/JackWinProcessSync.h +++ b/windows/JackWinProcessSync.h @@ -66,6 +66,11 @@ class JackWinProcessSync : public JackSyncInterface void Wait(); + void Signal() + { + SetEvent(fEvent); + } + void SignalAll() { SetEvent(fEvent);