diff --git a/ChangeLog b/ChangeLog index 132a9e88..da1a02b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,10 @@ Paul Davis Jackdmp changes log --------------------------- +2009-07-11 Stephane Letz + + * Raise drivers time out used in synchronous mode. + 2009-07-09 Stephane Letz * Use __attribute__((__packed__)) again, more fixes for 64/32 mixed mode. diff --git a/common/JackAudioDriver.cpp b/common/JackAudioDriver.cpp index fc753123..85634e34 100644 --- a/common/JackAudioDriver.cpp +++ b/common/JackAudioDriver.cpp @@ -269,7 +269,7 @@ void JackAudioDriver::ProcessGraphSync() fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable); if (ProcessSlaves() < 0) jack_error("JackAudioDriver::ProcessSync ProcessSlaves error, engine may now behave abnormally!!"); - if (fGraphManager->SuspendRefNum(&fClientControl, fSynchroTable, fEngineControl->fTimeOutUsecs) < 0) + if (fGraphManager->SuspendRefNum(&fClientControl, fSynchroTable, DRIVER_TIMEOUT_FACTOR * fEngineControl->fTimeOutUsecs) < 0) jack_error("JackAudioDriver::ProcessSync SuspendRefNum error, engine may now behave abnormally!!"); } else { // Graph not finished: do not activate it jack_error("JackAudioDriver::ProcessSync: error"); diff --git a/common/JackConstants.h b/common/JackConstants.h index a8861d9a..f5355afc 100644 --- a/common/JackConstants.h +++ b/common/JackConstants.h @@ -90,6 +90,7 @@ #define SOCKET_TIME_OUT 5 // in sec #define DRIVER_OPEN_TIMEOUT 5 // in sec #define FREEWHEEL_DRIVER_TIMEOUT 10 // in sec +#define DRIVER_TIMEOUT_FACTOR 10 #define NO_PORT 0xFFFE diff --git a/common/JackFreewheelDriver.cpp b/common/JackFreewheelDriver.cpp index 161c3897..c28e30c3 100644 --- a/common/JackFreewheelDriver.cpp +++ b/common/JackFreewheelDriver.cpp @@ -41,7 +41,7 @@ int JackFreewheelDriver::Process() } else { fGraphManager->ResumeRefNum(&fClientControl, fSynchroTable); // Signal all clients if (fEngineControl->fSyncMode) { - if (fGraphManager->SuspendRefNum(&fClientControl, fSynchroTable, fEngineControl->fTimeOutUsecs) < 0) { + if (fGraphManager->SuspendRefNum(&fClientControl, fSynchroTable, DRIVER_TIMEOUT_FACTOR * fEngineControl->fTimeOutUsecs) < 0) { jack_error("JackFreewheelDriver::ProcessSync SuspendRefNum error"); return -1; } diff --git a/macosx/JackMachSemaphore.h b/macosx/JackMachSemaphore.h index c82fa8d5..e87f0c5c 100644 --- a/macosx/JackMachSemaphore.h +++ b/macosx/JackMachSemaphore.h @@ -47,7 +47,7 @@ class SERVER_EXPORT JackMachSemaphore : public detail::JackSynchro public: - JackMachSemaphore(): fSemaphore(0) + JackMachSemaphore():JackSynchro(), fSemaphore(0) {} bool Signal(); diff --git a/macosx/JackPlatformPlug_os.h b/macosx/JackPlatformPlug_os.h index 24d94252..c52a259f 100644 --- a/macosx/JackPlatformPlug_os.h +++ b/macosx/JackPlatformPlug_os.h @@ -35,7 +35,7 @@ namespace Jack /* __JackPlatformMutex__ */ #include "JackPosixMutex.h" -namespace Jack {typedef JackPosixMutex JackMutex; } +namespace Jack { typedef JackPosixMutex JackMutex; } /* __JackPlatformThread__ */ #include "JackMachThread.h" @@ -47,8 +47,6 @@ namespace Jack { typedef JackMachSemaphore JackSynchro; } /* __JackPlatformProcessSync__ */ #include "JackProcessSync.h" -//#include "JackMachProcessSync.h" -//namespace Jack { typedef JackMachProcessSync JackProcessSync; } /* Only on windows a special JackProcessSync is used. It is directly defined by including JackProcessSync.h here */ /* __JackPlatformServerChannel__ */ diff --git a/posix/JackFifo.h b/posix/JackFifo.h index be7d9b8a..8ac72591 100644 --- a/posix/JackFifo.h +++ b/posix/JackFifo.h @@ -48,7 +48,7 @@ class SERVER_EXPORT JackFifo : public detail::JackSynchro public: - JackFifo(): fFifo( -1) + JackFifo():JackSynchro(), fFifo(-1) {} bool Signal(); diff --git a/posix/JackPosixSemaphore.h b/posix/JackPosixSemaphore.h index 2052ff1c..226db2a1 100644 --- a/posix/JackPosixSemaphore.h +++ b/posix/JackPosixSemaphore.h @@ -46,7 +46,7 @@ class SERVER_EXPORT JackPosixSemaphore : public detail::JackSynchro public: - JackPosixSemaphore(): fSemaphore(NULL) + JackPosixSemaphore():JackSynchro(), fSemaphore(NULL) {} bool Signal(); diff --git a/windows/JackWinSemaphore.h b/windows/JackWinSemaphore.h index 45b84e08..d4330e5f 100644 --- a/windows/JackWinSemaphore.h +++ b/windows/JackWinSemaphore.h @@ -44,7 +44,7 @@ class JackWinSemaphore : public detail::JackSynchro public: - JackWinSemaphore(): fSemaphore(NULL) + JackWinSemaphore():JackSynchro(), fSemaphore(NULL) {} bool Signal();