diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-05-07 12:05:24 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-05-07 12:05:24 (GMT) |
commit | eb490fea127fbfa7dac835e63f8307b34caf68ff (patch) | |
tree | e87c5c4c773190133082424346653359fb840ba7 | |
parent | 3108e5991abf2bff88ddf160baa3e955c956e155 (diff) | |
parent | 0b56799601690a747c42dfbbefe95f18e837eb3f (diff) | |
download | Qt-eb490fea127fbfa7dac835e63f8307b34caf68ff.zip Qt-eb490fea127fbfa7dac835e63f8307b34caf68ff.tar.gz Qt-eb490fea127fbfa7dac835e63f8307b34caf68ff.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Adding some error checking for setdefaultif
Making network reconnect happen after teardown.
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_symbian.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index c85d1be..6448b06 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -47,6 +47,8 @@ #include <unistd.h> #include <errno.h> +#include <net/if.h> + QT_BEGIN_NAMESPACE #ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS @@ -569,13 +571,17 @@ void QSelectThread::updateActivatedNotifiers(QSocketNotifier::Type type, fd_set * check if socket is in exception set * then signal RequestComplete for it */ - qWarning("exception on %d [will close the socket handle - hack]", i.key()->socket()); + qWarning("exception on %d [will do setdefaultif(0) - 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()); + // close all exiting sockets + // and reset default IAP + if(::setdefaultif(0) != KErrNone) // well we can't do much about it + qWarning("setdefaultif(0) failed"); + toRemove.append(i.key()); TRequestStatus *status = i.value(); QEventDispatcherSymbian::RequestComplete(d->threadData->symbian_thread_handle, status, KErrNone); |