diff options
author | Janne Anttila <janne.anttila@digia.com> | 2010-04-12 15:19:59 (GMT) |
---|---|---|
committer | Janne Anttila <janne.anttila@digia.com> | 2010-04-12 15:29:01 (GMT) |
commit | 4049dc98f1437cbbfdde5bd1ac16a7e69d65d254 (patch) | |
tree | 23b69411fc747a477bd99e4a4f1fe1073dbb5b67 /src/network/socket/qabstractsocket.h | |
parent | 07c347f5401754ebcf15ac2b6aae2cfbdf7b8654 (diff) | |
download | Qt-4049dc98f1437cbbfdde5bd1ac16a7e69d65d254.zip Qt-4049dc98f1437cbbfdde5bd1ac16a7e69d65d254.tar.gz Qt-4049dc98f1437cbbfdde5bd1ac16a7e69d65d254.tar.bz2 |
Fixed app freeze if switching to offline in middle of HTTP transaction.
When active socket is disconnected by swithcing to offline mode, native
RSocket completes the active socket operations with KErrCancel (-3).
Open C maps this error code to POSIX errno EINTR (4). Normally in Posix
EINTR is only used to indicate that some operation was interrupted by
POSIX signal. Qt has a while loops in network operations to handle
operations interrupterd by signals. These while loops will be
effectively forever loops in Symbian due to Open C error code mapping.
Because Symbian does not have native support for signals, i.e. the
network operations can never be really interrupted by POSIX signal,
it is ok to remove these while loops completely on Symbian platform.
This fix is a workaround to Open C incorrect error mapping, and
should be removed once Open C has fixed their error mapping.
Task-number: QT-3274
Reviewed-by: Aleksandar Sasha Babic
Diffstat (limited to 'src/network/socket/qabstractsocket.h')
0 files changed, 0 insertions, 0 deletions