version 1.7, 2006/11/10 18:14:57
|
version 1.7.4.1, 2007/04/04 11:04:44
|
|
|
| |
if (!CreatePipe(&thePipe[0], &thePipe[1], &saAttr, 0)) | if (!CreatePipe(&thePipe[0], &thePipe[1], &saAttr, 0)) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to create pipe. Error code: %d", GetLastError()); |
"Failed to create pipe. Error code: %d", GetLastError())); |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
| |
MessageLoaderParms mlp("Common.AnonymousPipe.CREATE_PIPE_FAILED", | MessageLoaderParms mlp("Common.AnonymousPipe.CREATE_PIPE_FAILED", |
|
|
{ | { |
if (sscanf(readHandle, "%p", &_readHandle) != 1) | if (sscanf(readHandle, "%p", &_readHandle) != 1) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to create pipe: invalid read handle %s", readHandle); |
"Failed to create pipe: invalid read handle %s", readHandle)); |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
| |
MessageLoaderParms mlp("Common.AnonymousPipe.CREATE_PIPE_FAILED", | MessageLoaderParms mlp("Common.AnonymousPipe.CREATE_PIPE_FAILED", |
|
|
{ | { |
if (sscanf(writeHandle, "%p", &_writeHandle) != 1) | if (sscanf(writeHandle, "%p", &_writeHandle) != 1) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to create pipe: invalid write handle %s", writeHandle); |
"Failed to create pipe: invalid write handle %s", writeHandle)); |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
| |
MessageLoaderParms mlp("Common.AnonymousPipe.CREATE_PIPE_FAILED", | MessageLoaderParms mlp("Common.AnonymousPipe.CREATE_PIPE_FAILED", |
|
|
// | // |
if (!_writeOpen) | if (!_writeOpen) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE_CSTRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Attempted to write to pipe whose write handle is not open"); | "Attempted to write to pipe whose write handle is not open"); |
return STATUS_CLOSED; | return STATUS_CLOSED; |
} | } |
|
|
| |
if (!returnValue) | if (!returnValue) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to write buffer to pipe. Error code: %d", | "Failed to write buffer to pipe. Error code: %d", |
GetLastError()); |
GetLastError())); |
return STATUS_ERROR; | return STATUS_ERROR; |
} | } |
| |
if (bytesWritten < 0) | if (bytesWritten < 0) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to write buffer to pipe. Error code: %d", | "Failed to write buffer to pipe. Error code: %d", |
GetLastError()); |
GetLastError())); |
| |
if ((GetLastError() == ERROR_PIPE_NOT_CONNECTED) || | if ((GetLastError() == ERROR_PIPE_NOT_CONNECTED) || |
(GetLastError() == ERROR_BROKEN_PIPE)) | (GetLastError() == ERROR_BROKEN_PIPE)) |
|
|
// | // |
if (!_readOpen) | if (!_readOpen) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE_CSTRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Attempted to read from pipe whose read handle is not open"); | "Attempted to read from pipe whose read handle is not open"); |
return STATUS_CLOSED; | return STATUS_CLOSED; |
} | } |
|
|
| |
if (!returnValue) | if (!returnValue) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to read buffer from pipe. Error code: %d", | "Failed to read buffer from pipe. Error code: %d", |
GetLastError()); |
GetLastError())); |
if ((GetLastError() == ERROR_PIPE_NOT_CONNECTED) || | if ((GetLastError() == ERROR_PIPE_NOT_CONNECTED) || |
(GetLastError() == ERROR_BROKEN_PIPE)) | (GetLastError() == ERROR_BROKEN_PIPE)) |
{ | { |
|
|
// | // |
// Connection closed | // Connection closed |
// | // |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE_CSTRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to read buffer from pipe: connection closed"); | "Failed to read buffer from pipe: connection closed"); |
return STATUS_CLOSED; | return STATUS_CLOSED; |
} | } |
| |
if (bytesRead < 0) | if (bytesRead < 0) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to read buffer from pipe. Error code: %d", | "Failed to read buffer from pipe. Error code: %d", |
GetLastError()); |
GetLastError())); |
| |
// | // |
// Error reading from pipe | // Error reading from pipe |
|
|
{ | { |
if (!CloseHandle(_readHandle)) | if (!CloseHandle(_readHandle)) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to close read handle. Error code: %d", | "Failed to close read handle. Error code: %d", |
GetLastError()); |
GetLastError())); |
} | } |
else | else |
{ | { |
|
|
} | } |
else | else |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE_CSTRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Attempted to close read handle that was not open"); | "Attempted to close read handle that was not open"); |
} | } |
| |
|
|
{ | { |
if (!CloseHandle(_writeHandle)) | if (!CloseHandle(_writeHandle)) |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE((TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Failed to close write handle. Error code: %d", | "Failed to close write handle. Error code: %d", |
GetLastError()); |
GetLastError())); |
} | } |
else | else |
{ | { |
|
|
} | } |
else | else |
{ | { |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
PEG_TRACE_CSTRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
"Attempted to close write handle that was not open"); | "Attempted to close write handle that was not open"); |
} | } |
| |