summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r--cpp/src/Ice/Network.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 7754e708c62..5c4767d533f 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -2093,6 +2093,12 @@ IceInternal::createPipe(SOCKET fds[2])
void
IceInternal::checkConnectErrorCode(const char* file, int line, HRESULT herr, HostName^ host)
{
+ if(herr == E_ACCESSDENIED)
+ {
+ SocketException ex(file, line);
+ ex.error = static_cast<int>(herr);
+ throw ex;
+ }
SocketErrorStatus error = SocketError::GetStatus(herr);
if(error == SocketErrorStatus::ConnectionRefused)
{
@@ -2129,6 +2135,12 @@ IceInternal::checkConnectErrorCode(const char* file, int line, HRESULT herr, Hos
void
IceInternal::checkErrorCode(const char* file, int line, HRESULT herr)
{
+ if(herr == E_ACCESSDENIED)
+ {
+ SocketException ex(file, line);
+ ex.error = static_cast<int>(herr);
+ throw ex;
+ }
SocketErrorStatus error = SocketError::GetStatus(herr);
if(error == SocketErrorStatus::NetworkDroppedConnectionOnReset ||
error == SocketErrorStatus::SoftwareCausedConnectionAbort ||