summaryrefslogtreecommitdiff
path: root/src/corelib
diff options
context:
space:
mode:
authorAleksandar Sasha Babic <aleksandar.babic@nokia.com>2010-04-12 18:26:23 +0200
committerAleksandar Sasha Babic <aleksandar.babic@nokia.com>2010-04-12 18:31:06 +0200
commit1db8232bd50874b3db16031b9c8ef13984bf32dd (patch)
treed847e0dcf20357a93e45abf145c55b8addc2821b /src/corelib
parent0b675c07adedb4e8faa20202f947549732e97410 (diff)
downloadqt4-tools-1db8232bd50874b3db16031b9c8ef13984bf32dd.tar.gz
Fixed app freeze if switching to offline in middle of HTTP transaction.
This is addition to the fix 4049dc98f1437cbbfdde5bd1ac16a7e69d65d254. It works on SDKs that are setting exception on the sockets when there are irregularities. It makes fix for QT-3274 more complete. Task-number: QT-3274 Reviewed-by: Janne Anttila
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index ca442643c5..8c96057276 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -570,7 +570,13 @@ void QSelectThread::updateActivatedNotifiers(QSocketNotifier::Type type, fd_set
* check if socket is in exception set
* then signal RequestComplete for it
*/
- qWarning("exception on %d", i.key()->socket());
+ qWarning("exception on %d [will close the socket handle - hack]", i.key()->socket());
+ // quick fix; there is a bug
+ // when doing read on socket
+ // errors not preoperly mapped
+ // after offline-ing the device
+ // on some devices we do get exception
+ ::close(i.key()->socket());
toRemove.append(i.key());
TRequestStatus *status = i.value();
QEventDispatcherSymbian::RequestComplete(d->threadData->symbian_thread_handle, status, KErrNone);