summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2008-05-26 17:03:12 +0000
committersletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2008-05-26 17:03:12 +0000
commit1182ac2c7cca3ee476067590181effbe5ec2889a (patch)
treea02215d038087f2d3e4aeeccb7c94c966037f2d4
parent9388e8130e03ae3aa39651b08ca66a4c2a50e130 (diff)
downloadjack2-1182ac2c7cca3ee476067590181effbe5ec2889a.tar.gz
Improve JackSyncInterface class
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2351 0c269be4-1314-0410-8aa9-9f06e86f4224
-rw-r--r--common/JackMessageBuffer.cpp2
-rw-r--r--common/JackProcessSync.h7
-rw-r--r--common/JackSyncInterface.h1
-rw-r--r--macosx/Jackdmp.xcodeproj/project.pbxproj8
-rw-r--r--windows/JackWinProcessSync.h5
5 files changed, 18 insertions, 5 deletions
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);