Browse Source

Compiles again on Windows.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4696 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.9.5
sletz 13 years ago
parent
commit
7a5abaa869
1 changed files with 19 additions and 16 deletions
  1. +19
    -16
      windows/JackWinNamedPipeServerChannel.cpp

+ 19
- 16
windows/JackWinNamedPipeServerChannel.cpp View File

@@ -78,7 +78,7 @@ void JackClientPipeThread::Close() // Close
fThread.Kill(); fThread.Kill();
fPipe->Close(); fPipe->Close();
fRefNum = -1; fRefNum = -1;
delete fDecoder; delete fDecoder;
fDecoder = NULL; fDecoder = NULL;
} }
@@ -87,27 +87,30 @@ bool JackClientPipeThread::Execute()
{ {
try{ try{
jack_log("JackClientPipeThread::Execute"); jack_log("JackClientPipeThread::Execute");
JackRequest header; JackRequest header;
if (header.Read(socket) < 0) {
jack_log("HandleRequest: cannot read header");
ClientKill(fd);
return false;
}
int res = header.Read(fPipe);
bool ret = true;

// Lock the global mutex // Lock the global mutex
if (WaitForSingleObject(fMutex, INFINITE) == WAIT_FAILED) { if (WaitForSingleObject(fMutex, INFINITE) == WAIT_FAILED) {
jack_error("JackClientPipeThread::HandleRequest: mutex wait error"); jack_error("JackClientPipeThread::HandleRequest: mutex wait error");
} }

if (res < 0) {
jack_log("HandleRequest: cannot read header");
ClientKill();
ret = false;
}

fDecoder->HandleRequest(fPipe, header.fType); fDecoder->HandleRequest(fPipe, header.fType);
// Unlock the global mutex // Unlock the global mutex
if (!ReleaseMutex(fMutex)) { if (!ReleaseMutex(fMutex)) {
jack_error("JackClientPipeThread::HandleRequest: mutex release error"); jack_error("JackClientPipeThread::HandleRequest: mutex release error");
} }
return res;
return ret;
} catch (JackQuitException& e) { } catch (JackQuitException& e) {
jack_log("JackClientPipeThread::Execute JackQuitException"); jack_log("JackClientPipeThread::Execute JackQuitException");
return false; return false;
@@ -135,14 +138,14 @@ void JackClientPipeThread::ClientRemove()


void JackClientPipeThread::ClientAdd(detail::JackChannelTransactionInterface* socket, JackClientOpenRequest* req, JackClientOpenResult *res) void JackClientPipeThread::ClientAdd(detail::JackChannelTransactionInterface* socket, JackClientOpenRequest* req, JackClientOpenResult *res)
{ {
jack_log("JackClientPipeThread::ClientAdd %s", req->fName);
jack_info("JackClientPipeThread::ClientAdd %s", req->fName);
fRefNum = -1; fRefNum = -1;
res->fResult = fServer->GetEngine()->ClientExternalOpen(req->fName, req->fPID, req->fUUID, &fRefNum, &res->fSharedEngine, &res->fSharedClient, &res->fSharedGraph); res->fResult = fServer->GetEngine()->ClientExternalOpen(req->fName, req->fPID, req->fUUID, &fRefNum, &res->fSharedEngine, &res->fSharedClient, &res->fSharedGraph);
} }


void JackClientPipeThread::ClientRemove(detail::JackChannelTransactionInterface* socket_aux, int refnum) void JackClientPipeThread::ClientRemove(detail::JackChannelTransactionInterface* socket_aux, int refnum)
{ {
jack_log("JackClientPipeThread::ClientRemove ref = %d", refnum);
jack_info("JackClientPipeThread::ClientRemove ref = %d", refnum);
// TODO : solve WIN32 thread Kill issue // TODO : solve WIN32 thread Kill issue
//Close(); //Close();
// //
@@ -589,11 +592,11 @@ void JackWinNamedPipeServerChannel::ClientAdd(JackWinNamedPipeClient* pipe)
std::list<JackClientPipeThread*>::iterator it = fClientList.begin(); std::list<JackClientPipeThread*>::iterator it = fClientList.begin();
JackClientPipeThread* client; JackClientPipeThread* client;


jack_log("ClientAdd size %ld", fClientList.size());
jack_info("ClientAdd size %ld", fClientList.size());


while (it != fClientList.end()) { while (it != fClientList.end()) {
client = *it; client = *it;
jack_log("Remove dead client = %x running = %ld", client, client->IsRunning());
jack_info("Remove dead client = %x running = %ld", client, client->IsRunning());
if (client->IsRunning()) { if (client->IsRunning()) {
it++; it++;
} else { } else {


Loading…
Cancel
Save