summaryrefslogtreecommitdiff
path: root/posix/JackPosixProcessSync.cpp
diff options
context:
space:
mode:
authorsletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2012-01-29 10:08:55 +0000
committersletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2012-01-29 10:08:55 +0000
commit85334f7d46777f1a61ba1a40d433725400bd96c7 (patch)
treee8d74893ab8bdd5cee6e74b34a25a1efccaa3b3b /posix/JackPosixProcessSync.cpp
parenta07bc128ef0e24022c5fccc597170177d5d1feca (diff)
downloadjack2-85334f7d46777f1a61ba1a40d433725400bd96c7.tar.gz
A bit more robust JackMessageBuffer implementation (in progress).
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4744 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'posix/JackPosixProcessSync.cpp')
-rw-r--r--posix/JackPosixProcessSync.cpp42
1 files changed, 28 insertions, 14 deletions
diff --git a/posix/JackPosixProcessSync.cpp b/posix/JackPosixProcessSync.cpp
index 889e4251..04c8785f 100644
--- a/posix/JackPosixProcessSync.cpp
+++ b/posix/JackPosixProcessSync.cpp
@@ -26,43 +26,51 @@ namespace Jack
void JackPosixProcessSync::Signal()
{
int res = pthread_cond_signal(&fCond);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::Signal error err = %s", strerror(res));
+ }
}
// TO DO : check thread consistency?
void JackPosixProcessSync::LockedSignal()
{
int res = pthread_mutex_lock(&fMutex);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedSignal error err = %s", strerror(res));
+ }
res = pthread_cond_signal(&fCond);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedSignal error err = %s", strerror(res));
+ }
res = pthread_mutex_unlock(&fMutex);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedSignal error err = %s", strerror(res));
+ }
}
void JackPosixProcessSync::SignalAll()
{
int res = pthread_cond_broadcast(&fCond);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::SignalAll error err = %s", strerror(res));
+ }
}
// TO DO : check thread consistency?
void JackPosixProcessSync::LockedSignalAll()
{
int res = pthread_mutex_lock(&fMutex);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedSignalAll error err = %s", strerror(res));
+ }
res = pthread_cond_broadcast(&fCond);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedSignalAll error err = %s", strerror(res));
+ }
res = pthread_mutex_unlock(&fMutex);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedSignalAll error err = %s", strerror(res));
+ }
}
void JackPosixProcessSync::Wait()
@@ -83,13 +91,16 @@ void JackPosixProcessSync::LockedWait()
{
int res;
res = pthread_mutex_lock(&fMutex);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedWait error err = %s", strerror(res));
- if ((res = pthread_cond_wait(&fCond, &fMutex)) != 0)
+ }
+ if ((res = pthread_cond_wait(&fCond, &fMutex)) != 0) {
jack_error("JackPosixProcessSync::LockedWait error err = %s", strerror(res));
+ }
res = pthread_mutex_unlock(&fMutex);
- if (res != 0)
+ if (res != 0) {
jack_error("JackPosixProcessSync::LockedWait error err = %s", strerror(res));
+ }
}
bool JackPosixProcessSync::TimedWait(long usec)
@@ -133,8 +144,9 @@ bool JackPosixProcessSync::LockedTimedWait(long usec)
int res1, res2;
res1 = pthread_mutex_lock(&fMutex);
- if (res1 != 0)
+ if (res1 != 0) {
jack_error("JackPosixProcessSync::LockedTimedWait error err = %s", usec, strerror(res1));
+ }
jack_log("JackPosixProcessSync::TimedWait time out = %ld", usec);
gettimeofday(&T0, 0);
@@ -144,13 +156,15 @@ bool JackPosixProcessSync::LockedTimedWait(long usec)
time.tv_sec = now.tv_sec + (next_date_usec / 1000000);
time.tv_nsec = (next_date_usec % 1000000) * 1000;
res2 = pthread_cond_timedwait(&fCond, &fMutex, &time);
- if (res2 != 0)
+ if (res2 != 0) {
jack_error("JackPosixProcessSync::LockedTimedWait error usec = %ld err = %s", usec, strerror(res2));
+ }
gettimeofday(&T1, 0);
res1 = pthread_mutex_unlock(&fMutex);
- if (res1 != 0)
+ if (res1 != 0) {
jack_error("JackPosixProcessSync::LockedTimedWait error err = %s", usec, strerror(res1));
+ }
jack_log("JackPosixProcessSync::TimedWait finished delta = %5.1lf",
(1e6 * T1.tv_sec - 1e6 * T0.tv_sec + T1.tv_usec - T0.tv_usec));