git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4638 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.8
@@ -81,7 +81,7 @@ JackEngineProfiling::~JackEngineProfiling() | |||||
fStream << ((d7 > 0 && d6 > 0) ? (d7 - d6) : 0) << "\t" ; | fStream << ((d7 > 0 && d6 > 0) ? (d7 - d6) : 0) << "\t" ; | ||||
fStream << fProfileTable[i].fClientTable[ref].fStatus << "\t" ;; | fStream << fProfileTable[i].fClientTable[ref].fStatus << "\t" ;; | ||||
} else { // Print tabs | |||||
} else { // Print tabs | |||||
fStream << "\t \t \t \t \t \t \t"; | fStream << "\t \t \t \t \t \t \t"; | ||||
} | } | ||||
} | } | ||||
@@ -136,7 +136,7 @@ JackEngineProfiling::~JackEngineProfiling() | |||||
fStream2 << "set xlabel \"audio cycles\"\n"; | fStream2 << "set xlabel \"audio cycles\"\n"; | ||||
fStream2 << "set ylabel \"usec\"\n"; | fStream2 << "set ylabel \"usec\"\n"; | ||||
fStream2 << "plot \"JackEngineProfiling.log\" using 2 title \"Driver end date\" with lines \n"; | fStream2 << "plot \"JackEngineProfiling.log\" using 2 title \"Driver end date\" with lines \n"; | ||||
fStream2 << "unset output\n"; | |||||
fStream2 << "unset output\n"; | |||||
} | } | ||||
// Clients end date | // Clients end date | ||||
@@ -198,8 +198,8 @@ JackEngineProfiling::~JackEngineProfiling() | |||||
fStream3 << "\"JackEngineProfiling.log\" using " << ((i + 1) * 7) - 1 << " title \"" << fIntervalTable[i].fName << "\" with lines,"; | fStream3 << "\"JackEngineProfiling.log\" using " << ((i + 1) * 7) - 1 << " title \"" << fIntervalTable[i].fName << "\" with lines,"; | ||||
} | } | ||||
} | } | ||||
fStream3 << "\nunset multiplot\n"; | |||||
fStream3 << "unset output\n"; | |||||
fStream3 << "\nunset multiplot\n"; | |||||
fStream3 << "unset output\n"; | |||||
} | } | ||||
} | } | ||||
@@ -242,8 +242,8 @@ JackEngineProfiling::~JackEngineProfiling() | |||||
fStream4 << "\"JackEngineProfiling.log\" using " << ((i + 1) * 7) << " title \"" << fIntervalTable[i].fName << "\" with lines,"; | fStream4 << "\"JackEngineProfiling.log\" using " << ((i + 1) * 7) << " title \"" << fIntervalTable[i].fName << "\" with lines,"; | ||||
} | } | ||||
} | } | ||||
fStream4 << "\nunset multiplot\n"; | |||||
fStream4 << "unset output\n"; | |||||
fStream4 << "\nunset multiplot\n"; | |||||
fStream4 << "unset output\n"; | |||||
} | } | ||||
} | } | ||||
@@ -286,8 +286,8 @@ JackEngineProfiling::~JackEngineProfiling() | |||||
fStream5 << "\"JackEngineProfiling.log\" using " << ((i + 1) * 7) + 1 << " title \"" << fIntervalTable[i].fName << "\" with lines,"; | fStream5 << "\"JackEngineProfiling.log\" using " << ((i + 1) * 7) + 1 << " title \"" << fIntervalTable[i].fName << "\" with lines,"; | ||||
} | } | ||||
} | } | ||||
fStream5 << "\nunset multiplot\n"; | |||||
fStream5 << "unset output\n"; | |||||
fStream5 << "\nunset multiplot\n"; | |||||
fStream5 << "unset output\n"; | |||||
} | } | ||||
} | } | ||||
@@ -40,8 +40,9 @@ bool JackMachSemaphore::Signal() | |||||
return false; | return false; | ||||
} | } | ||||
if (fFlush) | |||||
if (fFlush) { | |||||
return true; | return true; | ||||
} | |||||
kern_return_t res; | kern_return_t res; | ||||
if ((res = semaphore_signal(fSemaphore)) != KERN_SUCCESS) { | if ((res = semaphore_signal(fSemaphore)) != KERN_SUCCESS) { | ||||
@@ -57,8 +58,9 @@ bool JackMachSemaphore::SignalAll() | |||||
return false; | return false; | ||||
} | } | ||||
if (fFlush) | |||||
if (fFlush) { | |||||
return true; | return true; | ||||
} | |||||
kern_return_t res; | kern_return_t res; | ||||
// When signaled several times, do not accumulate signals... | // When signaled several times, do not accumulate signals... | ||||
@@ -150,14 +152,6 @@ bool JackMachSemaphore::ConnectInput(const char* name, const char* server_name) | |||||
BuildName(name, server_name, fName, sizeof(fName)); | BuildName(name, server_name, fName, sizeof(fName)); | ||||
kern_return_t res; | kern_return_t res; | ||||
// Temporary... A REVOIR | |||||
/* | |||||
if (fSemaphore > 0) { | |||||
jack_log("Already connected name = %s", name); | |||||
return true; | |||||
} | |||||
*/ | |||||
if (fBootPort == 0) { | if (fBootPort == 0) { | ||||
if ((res = task_get_bootstrap_port(mach_task_self(), &fBootPort)) != KERN_SUCCESS) { | if ((res = task_get_bootstrap_port(mach_task_self(), &fBootPort)) != KERN_SUCCESS) { | ||||
jack_error("Connect: can't find bootstrap port err = %s", mach_error_string(res)); | jack_error("Connect: can't find bootstrap port err = %s", mach_error_string(res)); | ||||
@@ -27,9 +27,9 @@ | |||||
#include <stdint.h> | #include <stdint.h> | ||||
#endif | #endif | ||||
namespace Jack | namespace Jack | ||||
{ | { | ||||
#define E(code, s) { code, s } | #define E(code, s) { code, s } | ||||
#define NET_ERROR_CODE WSAGetLastError() | #define NET_ERROR_CODE WSAGetLastError() | ||||
#define StrError PrintError | #define StrError PrintError | ||||
@@ -24,27 +24,27 @@ | |||||
inline bool CHECK_MLOCK(void* ptr, size_t size) | inline bool CHECK_MLOCK(void* ptr, size_t size) | ||||
{ | { | ||||
if (!VirtualLock((ptr), (size))) { | |||||
if (!VirtualLock((ptr), (size))) { | |||||
SIZE_T minWSS, maxWSS; | SIZE_T minWSS, maxWSS; | ||||
HANDLE hProc = GetCurrentProcess(); | HANDLE hProc = GetCurrentProcess(); | ||||
if (GetProcessWorkingSetSize(hProc, &minWSS, &maxWSS)) { | |||||
if (GetProcessWorkingSetSize(hProc, &minWSS, &maxWSS)) { | |||||
const size_t increase = size + (10 * 4096); | const size_t increase = size + (10 * 4096); | ||||
maxWSS += increase; | |||||
maxWSS += increase; | |||||
minWSS += increase; | minWSS += increase; | ||||
if (!SetProcessWorkingSetSize(hProc, minWSS, maxWSS)) { | if (!SetProcessWorkingSetSize(hProc, minWSS, maxWSS)) { | ||||
jack_error("SetProcessWorkingSetSize error = %d", GetLastError()); | |||||
jack_error("SetProcessWorkingSetSize error = %d", GetLastError()); | |||||
return false; | return false; | ||||
} else if (!VirtualLock((ptr), (size))) { | } else if (!VirtualLock((ptr), (size))) { | ||||
jack_error("VirtualLock error = %d", GetLastError()); | |||||
jack_error("VirtualLock error = %d", GetLastError()); | |||||
return false; | return false; | ||||
} else { | |||||
} else { | |||||
return true; | return true; | ||||
} | } | ||||
} else { | |||||
return false; | |||||
} else { | |||||
return false; | |||||
} | } | ||||
} else { | |||||
return true; | |||||
} else { | |||||
return true; | |||||
} | } | ||||
} | } | ||||
@@ -53,3 +53,4 @@ inline bool CHECK_MLOCK(void* ptr, size_t size) | |||||
#define CHECK_MUNLOCKALL()(false) | #define CHECK_MUNLOCKALL()(false) | ||||
#endif | #endif | ||||
@@ -370,52 +370,6 @@ int JackWinAsyncNamedPipeServer::Bind(const char* dir, const char* name, int whi | |||||
return BindAux(); | return BindAux(); | ||||
} | } | ||||
/* | |||||
int JackWinAsyncNamedPipeServer::Bind(const char* dir, int which) | |||||
{ | |||||
snprintf(fName, sizeof(fName), "\\\\.\\pipe\\%s_jack_%d", dir, which); | |||||
jack_log("Bind: fName %s", fName); | |||||
if ((fNamedPipe = CreateNamedPipe(fName, | |||||
PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, // read/write access | |||||
PIPE_TYPE_MESSAGE | // message type pipe | |||||
PIPE_READMODE_MESSAGE | // message-read mode | |||||
PIPE_WAIT, // blocking mode | |||||
PIPE_UNLIMITED_INSTANCES, // max. instances | |||||
BUFSIZE, // output buffer size | |||||
BUFSIZE, // input buffer size | |||||
INFINITE, // client time-out | |||||
NULL)) == INVALID_HANDLE_VALUE) { // no security a | |||||
jack_error("Cannot bind server to pipe err = %ld", GetLastError()); | |||||
return -1; | |||||
} else { | |||||
return 0; | |||||
} | |||||
} | |||||
int JackWinAsyncNamedPipeServer::Bind(const char* dir, const char* name, int which) | |||||
{ | |||||
snprintf(fName, sizeof(fName), "\\\\.\\pipe\\%s_jack_%s_%d", dir, name, which); | |||||
jack_log("Bind: fName %s", fName); | |||||
if ((fNamedPipe = CreateNamedPipe(fName, | |||||
PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, // read/write access | |||||
PIPE_TYPE_MESSAGE | // message type pipe | |||||
PIPE_READMODE_MESSAGE | // message-read mode | |||||
PIPE_WAIT, // blocking mode | |||||
PIPE_UNLIMITED_INSTANCES, // max. instances | |||||
BUFSIZE, // output buffer size | |||||
BUFSIZE, // input buffer size | |||||
INFINITE, // client time-out | |||||
NULL)) == INVALID_HANDLE_VALUE) { // no security a | |||||
jack_error("Cannot bind server to pipe err = %ld", GetLastError()); | |||||
return -1; | |||||
} else { | |||||
return 0; | |||||
} | |||||
} | |||||
*/ | |||||
bool JackWinAsyncNamedPipeServer::Accept() | bool JackWinAsyncNamedPipeServer::Accept() | ||||
{ | { | ||||
return false; | return false; | ||||
@@ -38,8 +38,9 @@ bool JackWinSemaphore::Signal() | |||||
BOOL res; | BOOL res; | ||||
assert(fSemaphore); | assert(fSemaphore); | ||||
if (fFlush) | |||||
if (fFlush) { | |||||
return true; | return true; | ||||
} | |||||
if (!(res = ReleaseSemaphore(fSemaphore, 1, NULL))) { | if (!(res = ReleaseSemaphore(fSemaphore, 1, NULL))) { | ||||
jack_error("JackWinSemaphore::Signal name = %s err = %ld", fName, GetLastError()); | jack_error("JackWinSemaphore::Signal name = %s err = %ld", fName, GetLastError()); | ||||
@@ -53,8 +54,9 @@ bool JackWinSemaphore::SignalAll() | |||||
BOOL res; | BOOL res; | ||||
assert(fSemaphore); | assert(fSemaphore); | ||||
if (fFlush) | |||||
if (fFlush) { | |||||
return true; | return true; | ||||
} | |||||
if (!(res = ReleaseSemaphore(fSemaphore, 1, NULL))) { | if (!(res = ReleaseSemaphore(fSemaphore, 1, NULL))) { | ||||
jack_error("JackWinSemaphore::SignalAll name = %s err = %ld", fName, GetLastError()); | jack_error("JackWinSemaphore::SignalAll name = %s err = %ld", fName, GetLastError()); | ||||