diff options
author | Aleksandar Sasha Babic <aleksandar.babic@nokia.com> | 2010-04-12 16:26:23 (GMT) |
---|---|---|
committer | Aleksandar Sasha Babic <aleksandar.babic@nokia.com> | 2010-04-12 16:31:06 (GMT) |
commit | 1db8232bd50874b3db16031b9c8ef13984bf32dd (patch) | |
tree | d847e0dcf20357a93e45abf145c55b8addc2821b /src/corelib | |
parent | 0b675c07adedb4e8faa20202f947549732e97410 (diff) | |
download | Qt-1db8232bd50874b3db16031b9c8ef13984bf32dd.zip Qt-1db8232bd50874b3db16031b9c8ef13984bf32dd.tar.gz Qt-1db8232bd50874b3db16031b9c8ef13984bf32dd.tar.bz2 |
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.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index ca44264..8c96057 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); |