20 #include "JackGlobals.h"
25 bool JackGlobals::fVerbose = 0;
27 jack_tls_key JackGlobals::fRealTimeThread;
28 static bool gKeyRealtimeThreadInitialized = jack_tls_allocate_key(&JackGlobals::fRealTimeThread);
30 jack_tls_key JackGlobals::fNotificationThread;
31 static bool gKeyNotificationThreadInitialized = jack_tls_allocate_key(&JackGlobals::fNotificationThread);
33 jack_tls_key JackGlobals::fKeyLogFunction;
34 static bool fKeyLogFunctionInitialized = jack_tls_allocate_key(&JackGlobals::fKeyLogFunction);
36 JackMutex* JackGlobals::fOpenMutex =
new JackMutex();
37 volatile bool JackGlobals::fServerRunning =
false;
38 JackClient* JackGlobals::fClientTable[CLIENT_NUM] = {};
41 jack_thread_creator_t JackGlobals::fJackThreadCreator = pthread_create;
44 #ifdef __CLIENTDEBUG__
46 std::ofstream* JackGlobals::fStream = NULL;
48 void JackGlobals::CheckContext(
const char* name)
50 if (JackGlobals::fStream == NULL) {
56 curtime = time (NULL);
58 loctime = localtime (&curtime);
59 strftime(buffer, 256,
"%I-%M", loctime);
60 snprintf(provstr,
sizeof(provstr),
"JackAPICall-%s.log", buffer);
61 JackGlobals::fStream =
new std::ofstream(provstr, std::ios_base::ate);
62 JackGlobals::fStream->is_open();
64 (*fStream) <<
"JACK API call : " << name <<
", calling thread : " << pthread_self() << std::endl;
69 void JackGlobals::CheckContext(
const char* name)