Browse Source

Correct pipe destruction bug in JackWinNamedPipe class.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1236 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.59
sletz 18 years ago
parent
commit
ccc0491b0f
3 changed files with 21 additions and 7 deletions
  1. +4
    -0
      ChangeLog
  2. +16
    -6
      windows/JackWinNamedPipe.cpp
  3. +1
    -1
      windows/JackWinNamedPipe.h

+ 4
- 0
ChangeLog View File

@@ -2,6 +2,10 @@
Jackdmp changes log
---------------------------
2006-09-13 Stephane Letz <letz@grame.fr>
* Correct pipe destruction bug in JackWinNamedPipe class.
2006-09-11 Stephane Letz <letz@grame.fr>
* Handling of LoopBack driver only when really needed.


+ 16
- 6
windows/JackWinNamedPipe.cpp View File

@@ -99,8 +99,13 @@ int JackWinNamedPipeClient::Connect(const char* dir, const char* name, int which

int JackWinNamedPipeClient::Close()
{
CloseHandle(fNamedPipe);
return 0;
if (fNamedPipe != INVALID_HANDLE_VALUE) {
CloseHandle(fNamedPipe);
fNamedPipe = INVALID_HANDLE_VALUE;
return 0;
} else {
return -1;
}
}

void JackWinNamedPipeClient::SetReadTimeOut(long sec)
@@ -296,10 +301,15 @@ JackWinNamedPipeClient* JackWinNamedPipeServer::AcceptClient()
}

int JackWinNamedPipeServer::Close()
{
DisconnectNamedPipe(fNamedPipe);
CloseHandle(fNamedPipe);
return 0;
{
if (fNamedPipe != INVALID_HANDLE_VALUE) {
DisconnectNamedPipe(fNamedPipe);
CloseHandle(fNamedPipe);
fNamedPipe = INVALID_HANDLE_VALUE;
return 0;
} else {
return -1;
}
}

// Server side


+ 1
- 1
windows/JackWinNamedPipe.h View File

@@ -38,7 +38,7 @@ class JackWinNamedPipe : public JackChannelTransaction

public:

JackWinNamedPipe(): fNamedPipe(NULL)
JackWinNamedPipe(): fNamedPipe(INVALID_HANDLE_VALUE)
{}
JackWinNamedPipe(HANDLE pipe): fNamedPipe(pipe)
{}


Loading…
Cancel
Save