From ba881e40aca5650f96493ee386ca2cd1d31890da Mon Sep 17 00:00:00 2001 From: sletz Date: Fri, 25 Apr 2008 07:15:41 +0000 Subject: [PATCH] Correct JackServerGlobals::Init: now check is server is already started. git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2166 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 4 ++++ common/JackServerGlobals.cpp | 15 +++++---------- common/JackTools.cpp | 1 - 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0b5e3422..0fee1f4a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,10 @@ Fernando Lopez-Lezcano Jackdmp changes log --------------------------- +2008-04-25 Stephane Letz + + * Correct JackServerGlobals::Init: now check is server is already started. + 2008-04-24 Stephane Letz * Correct internal client load. diff --git a/common/JackServerGlobals.cpp b/common/JackServerGlobals.cpp index c2a59134..080d8738 100644 --- a/common/JackServerGlobals.cpp +++ b/common/JackServerGlobals.cpp @@ -27,10 +27,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "shm.h" #include -#ifndef WIN32 -#include -#endif - static char* server_name = NULL; namespace Jack @@ -75,6 +71,11 @@ int JackServerGlobals::Delete() bool JackServerGlobals::Init() { + // Server already started + if (JackServer::fInstance != NULL) + return true; + + // Otherwise first client starts the server if (fClientCount++ == 0) { jack_log("JackServerGlobals Init"); @@ -282,9 +283,7 @@ bool JackServerGlobals::Init() /* clean up shared memory and files from any previous instance of this server name */ jack_cleanup_shm(); -#ifndef WIN32 JackTools::CleanupFiles(server_name); -#endif if (!realtime && client_timeout == 0) client_timeout = 500; /* 0.5 sec; usable when non realtime. */ @@ -298,9 +297,7 @@ bool JackServerGlobals::Init() jack_error("Cannot start server... exit"); Delete(); jack_cleanup_shm(); -#ifndef WIN32 JackTools::CleanupFiles(server_name); -#endif jack_unregister_server(server_name); goto error; } @@ -319,9 +316,7 @@ void JackServerGlobals::Destroy() jack_log("JackServerGlobals Destroy"); Stop(); jack_cleanup_shm(); -#ifndef WIN32 JackTools::CleanupFiles(server_name); -#endif jack_unregister_server(server_name); } } diff --git a/common/JackTools.cpp b/common/JackTools.cpp index f6ea7b0f..5311818e 100644 --- a/common/JackTools.cpp +++ b/common/JackTools.cpp @@ -209,5 +209,4 @@ void JackTools::RewriteName(const char* name, char* new_name) new_name[i] = '\0'; } - }