diff options
author | Shane Kearns <shane.kearns@accenture.com> | 2010-12-10 10:27:32 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@accenture.com> | 2010-12-10 10:27:32 (GMT) |
commit | cb7a89049f1e41edf02aaab56a00cef8c6005eba (patch) | |
tree | e837ec91db9c6118f17cf777edaaac25b1fc7d1a /src/network | |
parent | 9c3967b7738b50655a7b9d6a5a0e89fdf2afc1df (diff) | |
download | Qt-cb7a89049f1e41edf02aaab56a00cef8c6005eba.zip Qt-cb7a89049f1e41edf02aaab56a00cef8c6005eba.tar.gz Qt-cb7a89049f1e41edf02aaab56a00cef8c6005eba.tar.bz2 |
Fixes for socket engine autotest failures
Reviewed-by: Markus Goetz
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/socket/qsymbiansocketengine.cpp | 10 | ||||
-rw-r--r-- | src/network/socket/qsymbiansocketengine_p.h | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/network/socket/qsymbiansocketengine.cpp b/src/network/socket/qsymbiansocketengine.cpp index 602df5c..b63dbf6 100644 --- a/src/network/socket/qsymbiansocketengine.cpp +++ b/src/network/socket/qsymbiansocketengine.cpp @@ -641,6 +641,10 @@ bool QSymbianSocketEngine::bind(const QHostAddress &address, quint16 port) d->setPortAndAddress(nativeAddr, port, address); TInt err = d->nativeSocket.Bind(nativeAddr); +#ifdef __WINS__ + if (err == KErrArgument) // winsock prt returns wrong error code + err = KErrInUse; +#endif if (err) { d->setError(err); @@ -781,6 +785,8 @@ qint64 QSymbianSocketEngine::writeDatagram(const char *data, qint64 len, const QHostAddress &host, quint16 port) { Q_D(QSymbianSocketEngine); + Q_CHECK_VALID_SOCKETLAYER(QNativeSocketEngine::writeDatagram(), -1); + Q_CHECK_TYPE(QNativeSocketEngine::writeDatagram(), QAbstractSocket::UdpSocket, -1); TPtrC8 buffer((TUint8*)data, (int)len); TInetAddr addr; d->setPortAndAddress(addr, port, host); @@ -940,9 +946,9 @@ qint64 QSymbianSocketEngine::write(const char *data, qint64 len) Q_D(QSymbianSocketEngine); TPtrC8 buffer((TUint8*)data, (int)len); TSockXfrLength sentBytes = 0; - TRequestStatus status; //TODO: OMG sync send! + TRequestStatus status; d->nativeSocket.Send(buffer, 0, status, sentBytes); - User::WaitForRequest(status); + User::WaitForRequest(status); //TODO: on emulator this blocks for write >16kB (non blocking IO not implemented properly?) TInt err = status.Int(); if (err) { diff --git a/src/network/socket/qsymbiansocketengine_p.h b/src/network/socket/qsymbiansocketengine_p.h index 2d5bcd8..bc85f9c 100644 --- a/src/network/socket/qsymbiansocketengine_p.h +++ b/src/network/socket/qsymbiansocketengine_p.h @@ -172,8 +172,8 @@ private: QReadNotifier* iReadN; QWriteNotifier* iWriteN; QExceptionNotifier* iExcN; - bool m_inSocketEvent; // TODO ? - bool m_deleteLater; // TODO ? + bool m_inSocketEvent; + bool m_deleteLater; RSocket &m_socket; TUint m_selectFlags; |