summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-04-16 10:00:10 +0200
committerThiago Macieira <thiago.macieira@nokia.com>2009-04-16 13:37:16 +0200
commit5c359a9b599e2024d070534c10c5a0e224eca5d8 (patch)
treeaf6e80a0919d3f8c929cb129632e1f618ca17ef9 /src/network/socket
parent78659fbe2d4ad8a01b41cb485f57b4a66c031fd5 (diff)
Add a warning for trying to connectToHost() when disconnecting.
Right now, we print this warning if connectToHost() is called when we're in ConnectingState (waiting for remote to SYN,ACK) or in ConnectedState. This also means connectToHost() allows interruption of the HostLookupState cleanly (I think). But if you called connectToHost() right after disconnectFromHost() and there were data to write, the connectToHost() could discard the pending outgoing data and reconnect. Or not, depending on whether the DNS resolution ended first. In other words, race condition. Reviewed-by: Peter Hartmann
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qabstractsocket.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index f8cf4caf07..f9750f2700 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -1263,7 +1263,7 @@ void QAbstractSocket::connectToHostImplementation(const QString &hostName, quint
(int) openMode);
#endif
- if (d->state == ConnectedState || d->state == ConnectingState) {
+ if (d->state == ConnectedState || d->state == ConnectingState || d->state == ClosingState) {
qWarning("QAbstractSocket::connectToHost() called when already connecting/connected to \"%s\"", qPrintable(hostName));
return;
}