summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/server/WinNamedPipeStream.cpp51
1 files changed, 32 insertions, 19 deletions
diff --git a/lib/server/WinNamedPipeStream.cpp b/lib/server/WinNamedPipeStream.cpp
index 7d372517..ad5764ec 100644
--- a/lib/server/WinNamedPipeStream.cpp
+++ b/lib/server/WinNamedPipeStream.cpp
@@ -100,8 +100,8 @@ void WinNamedPipeStream::Accept(const wchar_t* pName)
if (mSocketHandle == INVALID_HANDLE_VALUE)
{
- ::syslog(LOG_ERR, "CreateNamedPipeW failed: %d",
- GetLastError());
+ ::syslog(LOG_ERR, "CreateNamedPipeW failed: %s",
+ GetErrorMessage(GetLastError()).c_str());
THROW_EXCEPTION(ServerException, SocketOpenError)
}
@@ -109,8 +109,8 @@ void WinNamedPipeStream::Accept(const wchar_t* pName)
if (!connected)
{
- ::syslog(LOG_ERR, "ConnectNamedPipe failed: %d",
- GetLastError());
+ ::syslog(LOG_ERR, "ConnectNamedPipe failed: %s",
+ GetErrorMessage(GetLastError()).c_str());
Close();
THROW_EXCEPTION(ServerException, SocketOpenError)
}
@@ -126,8 +126,8 @@ void WinNamedPipeStream::Accept(const wchar_t* pName)
if (mReadableEvent == INVALID_HANDLE_VALUE)
{
- ::syslog(LOG_ERR, "Failed to create the Readable event: "
- "error %d", GetLastError());
+ ::syslog(LOG_ERR, "Failed to create the Readable event: %s",
+ GetErrorMessage(GetLastError()).c_str());
Close();
THROW_EXCEPTION(CommonException, Internal)
}
@@ -145,7 +145,7 @@ void WinNamedPipeStream::Accept(const wchar_t* pName)
if (err != ERROR_IO_PENDING)
{
::syslog(LOG_ERR, "Failed to start overlapped read: "
- "error %d", err);
+ "%s", GetErrorMessage(err).c_str());
Close();
THROW_EXCEPTION(ConnectionException,
Conn_SocketReadError)
@@ -189,7 +189,7 @@ void WinNamedPipeStream::Connect(const wchar_t* pName)
else
{
::syslog(LOG_ERR, "Failed to connect to backup "
- "daemon: error %d", err);
+ "daemon: %s", GetErrorMessage(err).c_str());
}
THROW_EXCEPTION(ServerException, SocketOpenError)
}
@@ -269,7 +269,8 @@ int WinNamedPipeStream::Read(void *pBuffer, int NBytes, int Timeout)
::syslog(LOG_ERR,
"Failed to wait for "
"ReadFile to complete: "
- "error %d", err);
+ "%s",
+ GetErrorMessage(err).c_str());
}
Close();
@@ -332,7 +333,8 @@ int WinNamedPipeStream::Read(void *pBuffer, int NBytes, int Timeout)
else
{
::syslog(LOG_ERR, "Failed to start "
- "overlapped read: error %d", err);
+ "overlapped read: %s",
+ GetErrorMessage(err).c_str());
Close();
THROW_EXCEPTION(ConnectionException,
Conn_SocketReadError)
@@ -420,6 +422,9 @@ void WinNamedPipeStream::Write(const void *pBuffer, int NBytes)
if (!Success)
{
+ DWORD err = GetLastError();
+ ::syslog(LOG_ERR, "Failed to write to control socket: "
+ "%s", GetErrorMessage(err).c_str());
Close();
THROW_EXCEPTION(ConnectionException,
Conn_SocketWriteError)
@@ -456,7 +461,8 @@ void WinNamedPipeStream::Close()
if (!CancelIo(mSocketHandle))
{
::syslog(LOG_ERR, "Failed to cancel outstanding "
- "I/O: error %d", GetLastError());
+ "I/O: %s",
+ GetErrorMessage(GetLastError()).c_str());
}
if (mReadableEvent == INVALID_HANDLE_VALUE)
@@ -467,21 +473,27 @@ void WinNamedPipeStream::Close()
else if (!CloseHandle(mReadableEvent))
{
::syslog(LOG_ERR, "Failed to destroy Readable "
- "event: error %d", GetLastError());
+ "event: %s",
+ GetErrorMessage(GetLastError()).c_str());
}
mReadableEvent = INVALID_HANDLE_VALUE;
if (!FlushFileBuffers(mSocketHandle))
{
- ::syslog(LOG_INFO, "FlushFileBuffers failed: %d",
- GetLastError());
+ ::syslog(LOG_INFO, "FlushFileBuffers failed: %s",
+ GetErrorMessage(GetLastError()).c_str());
}
if (!DisconnectNamedPipe(mSocketHandle))
{
- ::syslog(LOG_ERR, "DisconnectNamedPipe failed: %d",
- GetLastError());
+ DWORD err = GetLastError();
+ if (err != ERROR_PIPE_NOT_CONNECTED)
+ {
+ ::syslog(LOG_ERR, "DisconnectNamedPipe "
+ "failed: %s",
+ GetErrorMessage(err).c_str());
+ }
}
mIsServer = false;
@@ -496,7 +508,8 @@ void WinNamedPipeStream::Close()
if (!result)
{
- ::syslog(LOG_ERR, "CloseHandle failed: %d", GetLastError());
+ ::syslog(LOG_ERR, "CloseHandle failed: %s",
+ GetErrorMessage(GetLastError()).c_str());
THROW_EXCEPTION(ServerException, SocketCloseError)
}
}
@@ -544,8 +557,8 @@ void WinNamedPipeStream::WriteAllBuffered()
if (!FlushFileBuffers(mSocketHandle))
{
- ::syslog(LOG_WARNING, "FlushFileBuffers failed: %d",
- GetLastError());
+ ::syslog(LOG_WARNING, "FlushFileBuffers failed: %s",
+ GetErrorMessage(GetLastError()).c_str());
}
}