[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kdecore/network
From: Thiago Macieira <thiago.macieira () kdemail ! net>
Date: 2005-01-13 21:31:28
Message-ID: 20050113213128.668851CF8A () office ! kde ! org
[Download RAW message or body]
CVS commit by thiago:
Adding one more error code, indicating remotely disconnection.
Also emit gotError when getting an error in KBufferedSocket buffer-handling
routines.
BUG:96946
M +7 -3 kbufferedsocket.cpp 1.10
M +5 -0 ksocketbase.cpp 1.10
M +3 -1 ksocketbase.h 1.20
M +4 -0 ksocketdevice.cpp 1.22
--- kdelibs/kdecore/network/kbufferedsocket.cpp #1.9:1.10
@@ -1,4 +1,4 @@
/* -*- C++ -*-
- * Copyright (C) 2003 Thiago Macieira <thiago.macieira@kdemail.net>
+ * Copyright (C) 2003,2004 Thiago Macieira <thiago.macieira@kdemail.net>
*
*
@@ -320,4 +320,5 @@ void KBufferedSocket::slotReadActivity()
copyError();
mutex()->unlock();
+ emit gotError(error());
closeNow(); // emits closed
return;
@@ -327,6 +328,7 @@ void KBufferedSocket::slotReadActivity()
{
// remotely closed
- resetError();
+ setError(IO_ReadError, RemotelyDisconnected);
mutex()->unlock();
+ emit gotError(error());
closeNow(); // emits closed
return;
@@ -366,4 +368,5 @@ void KBufferedSocket::slotWriteActivity(
copyError();
mutex()->unlock();
+ emit gotError(error());
closeNow();
return;
@@ -373,6 +376,7 @@ void KBufferedSocket::slotWriteActivity(
{
// remotely closed
- resetError();
+ setError(IO_ReadError, RemotelyDisconnected);
mutex()->unlock();
+ emit gotError(error());
closeNow();
return;
--- kdelibs/kdecore/network/ksocketbase.cpp #1.9:1.10
@@ -243,4 +243,9 @@ QString KSocketBase::errorString(KSocket
break;
+ case RemotelyDisconnected:
+ reason = i18n("Socket error code RemotelyDisconnected",
+ "remote host closed connection");
+ break;
+
default:
reason = QString::null;
--- kdelibs/kdecore/network/ksocketbase.h #1.19:1.20
@@ -146,4 +146,5 @@ public:
* - Timeout: a timed operation timed out
* - UnknownError: an unknown/unexpected error has happened
+ * - RemotelyDisconnected: when a connection is disconnected by the other end (since 3.4)
*
* @sa error, errorString
@@ -167,5 +168,6 @@ public:
NotSupported,
Timeout,
- UnknownError
+ UnknownError,
+ RemotelyDisconnected
};
--- kdelibs/kdecore/network/ksocketdevice.cpp #1.21:1.22
@@ -402,4 +402,6 @@ static int do_read_common(int sockfd, ch
return KSocketDevice::UnknownError;
}
+ if (retval == 0)
+ return KSocketDevice::RemotelyDisconnected;
if (from)
@@ -515,4 +517,6 @@ Q_LONG KSocketDevice::writeBlock(const c
return -1; // nothing written
}
+ else if (retval == 0)
+ setError(IO_WriteError, RemotelyDisconnected);
return retval;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic