git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4769 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.9.9.5
| @@ -186,7 +186,8 @@ int JackClientSocket::Read(void* data, int len) | |||||
| return 0; // For a non blocking socket, a read failure is not considered as an error | return 0; // For a non blocking socket, a read failure is not considered as an error | ||||
| } else if (res != 0) { | } else if (res != 0) { | ||||
| jack_error("Cannot read socket fd = %d err = %s", fSocket, strerror(errno)); | jack_error("Cannot read socket fd = %d err = %s", fSocket, strerror(errno)); | ||||
| return 0; | |||||
| //return 0; | |||||
| return -1; | |||||
| } else { | } else { | ||||
| jack_error("Cannot read socket fd = %d err = %s", fSocket, strerror(errno)); | jack_error("Cannot read socket fd = %d err = %s", fSocket, strerror(errno)); | ||||
| return -1; | return -1; | ||||
| @@ -231,7 +232,8 @@ int JackClientSocket::Write(void* data, int len) | |||||
| return 0; // For a non blocking socket, a write failure is not considered as an error | return 0; // For a non blocking socket, a write failure is not considered as an error | ||||
| } else if (res != 0) { | } else if (res != 0) { | ||||
| jack_error("Cannot write socket fd = %ld err = %s", fSocket, strerror(errno)); | jack_error("Cannot write socket fd = %ld err = %s", fSocket, strerror(errno)); | ||||
| return 0; | |||||
| //return 0; | |||||
| return -1; | |||||
| } else { | } else { | ||||
| jack_error("Cannot write socket fd = %ld err = %s", fSocket, strerror(errno)); | jack_error("Cannot write socket fd = %ld err = %s", fSocket, strerror(errno)); | ||||
| return -1; | return -1; | ||||
| @@ -128,7 +128,6 @@ int JackSocketServerChannel::GetFd(JackClientSocket* socket_aux) | |||||
| void JackSocketServerChannel::ClientAdd(detail::JackChannelTransactionInterface* socket_aux, JackClientOpenRequest* req, JackClientOpenResult *res) | void JackSocketServerChannel::ClientAdd(detail::JackChannelTransactionInterface* socket_aux, JackClientOpenRequest* req, JackClientOpenResult *res) | ||||
| { | { | ||||
| jack_log("JackSocketServerChannel::ClientAdd"); | |||||
| int refnum = -1; | int refnum = -1; | ||||
| res->fResult = fServer->GetEngine()->ClientExternalOpen(req->fName, req->fPID, req->fUUID, &refnum, &res->fSharedEngine, &res->fSharedClient, &res->fSharedGraph); | res->fResult = fServer->GetEngine()->ClientExternalOpen(req->fName, req->fPID, req->fUUID, &refnum, &res->fSharedEngine, &res->fSharedClient, &res->fSharedGraph); | ||||
| if (res->fResult == 0) { | if (res->fResult == 0) { | ||||
| @@ -138,6 +137,7 @@ void JackSocketServerChannel::ClientAdd(detail::JackChannelTransactionInterface* | |||||
| assert(fd >= 0); | assert(fd >= 0); | ||||
| fSocketTable[fd].first = refnum; | fSocketTable[fd].first = refnum; | ||||
| fRebuild = true; | fRebuild = true; | ||||
| jack_log("JackSocketServerChannel::ClientAdd ref = %d fd = %d", refnum, fd); | |||||
| #ifdef __APPLE__ | #ifdef __APPLE__ | ||||
| int on = 1; | int on = 1; | ||||
| if (setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, (const char*)&on, sizeof(on)) < 0) { | if (setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, (const char*)&on, sizeof(on)) < 0) { | ||||
| @@ -156,7 +156,7 @@ void JackSocketServerChannel::ClientRemove(detail::JackChannelTransactionInterfa | |||||
| int fd = GetFd(socket); | int fd = GetFd(socket); | ||||
| assert(fd >= 0); | assert(fd >= 0); | ||||
| jack_log("JackSocketServerChannel::ClientRemove ref = %d", refnum); | |||||
| jack_log("JackSocketServerChannel::ClientRemove ref = %d fd = %d", refnum, fd); | |||||
| fSocketTable.erase(fd); | fSocketTable.erase(fd); | ||||
| socket->Close(); | socket->Close(); | ||||
| delete socket; | delete socket; | ||||
| @@ -168,16 +168,15 @@ void JackSocketServerChannel::ClientKill(int fd) | |||||
| pair<int, JackClientSocket*> elem = fSocketTable[fd]; | pair<int, JackClientSocket*> elem = fSocketTable[fd]; | ||||
| JackClientSocket* socket = elem.second; | JackClientSocket* socket = elem.second; | ||||
| int refnum = elem.first; | int refnum = elem.first; | ||||
| assert(socket); | assert(socket); | ||||
| jack_log("JackSocketServerChannel::ClientKill ref = %d", refnum); | |||||
| if (refnum == -1) { // Should never happen... correspond to a client that started the socket but never opened... | if (refnum == -1) { // Should never happen... correspond to a client that started the socket but never opened... | ||||
| jack_log("Client was not opened : probably correspond to server_check"); | jack_log("Client was not opened : probably correspond to server_check"); | ||||
| } else { | } else { | ||||
| fServer->ClientKill(refnum); | fServer->ClientKill(refnum); | ||||
| } | } | ||||
| jack_log("JackSocketServerChannel::ClientKill ref = %d fd = %d", refnum, fd); | |||||
| fSocketTable.erase(fd); | fSocketTable.erase(fd); | ||||
| socket->Close(); | socket->Close(); | ||||
| delete socket; | delete socket; | ||||
| @@ -54,19 +54,15 @@ void JackSocketServerNotifyChannel::Notify(int refnum, int notify, int value) | |||||
| { | { | ||||
| JackClientNotificationRequest req(refnum, notify, value); | JackClientNotificationRequest req(refnum, notify, value); | ||||
| if (req.Write(&fRequestSocket) < 0) { | if (req.Write(&fRequestSocket) < 0) { | ||||
| jack_error("Could not write request ref = %d notify = %d", refnum, notify); | |||||
| jack_error("Could not write notification ref = %d notify = %d", refnum, notify); | |||||
| } | } | ||||
| } | } | ||||
| void JackSocketServerNotifyChannel::NotifyQuit() | void JackSocketServerNotifyChannel::NotifyQuit() | ||||
| { | { | ||||
| JackClientNotificationRequest req(-1, kQUIT, 0); | |||||
| if (req.Write(&fRequestSocket) < 0) { | |||||
| jack_error("Could not write request ref = %d notify = %d", -1, kQUIT); | |||||
| } | |||||
| Notify(-1, kQUIT, 0); | |||||
| } | } | ||||
| } // end of namespace | } // end of namespace | ||||
| @@ -51,16 +51,13 @@ void JackWinNamedPipeServerNotifyChannel::Notify(int refnum, int notify, int val | |||||
| { | { | ||||
| JackClientNotificationRequest req(refnum, notify, value); | JackClientNotificationRequest req(refnum, notify, value); | ||||
| if (req.Write(&fRequestPipe) < 0) { | if (req.Write(&fRequestPipe) < 0) { | ||||
| jack_error("Could not write request ref = %d notify = %d", refnum, notify); | |||||
| jack_error("Could not write notification ref = %d notify = %d", refnum, notify); | |||||
| } | } | ||||
| } | } | ||||
| void JackWinNamedPipeServerNotifyChannel::NotifyQuit() | void JackWinNamedPipeServerNotifyChannel::NotifyQuit() | ||||
| { | { | ||||
| JackClientNotificationRequest req(-1, kQUIT, 0); | |||||
| if (req.Write(&fRequestPipe) < 0) { | |||||
| jack_error("Could not write request ref = %d notify = %d", -1, kQUIT); | |||||
| } | |||||
| Notify(-1, kQUIT, 0); | |||||
| } | } | ||||
| } // end of namespace | } // end of namespace | ||||