diff options
author | Alex Trotsenko <alex1973tr@gmail.com> | 2016-04-09 18:17:52 +0300 |
---|---|---|
committer | Tobias Koenig <tobias.koenig@kdab.com> | 2016-04-19 19:32:39 +0000 |
commit | cc7cd61909ad0931ea702178274b7138dd5bdf52 (patch) | |
tree | 1ea3053b6d0d36fca697631a568c159d36a3e487 /src/corelib/kernel/qeventdispatcher_win_p.h | |
parent | 394a02624105082c9ac440711c8a98bf75b830f3 (diff) | |
download | qtbase-cc7cd61909ad0931ea702178274b7138dd5bdf52.tar.gz |
Improve performance of socket notifications on WinCE
QEventDispatcherWin32 on WinCE uses a separate low-priority thread to
monitor sockets activity, so changing the state of notifiers occurs
asynchronously to the main thread. This makes a message-based socket
activation mechanism ineffective.
To avoid timeouts in the helper thread, update the thread's pool
directly from the (un)registerSocketNotifier() functions.
Change-Id: I702c32d69dce09323ca5f65dc2ee1407842e41ef
Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Diffstat (limited to 'src/corelib/kernel/qeventdispatcher_win_p.h')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_win_p.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h index 222562dfce..989bac3904 100644 --- a/src/corelib/kernel/qeventdispatcher_win_p.h +++ b/src/corelib/kernel/qeventdispatcher_win_p.h @@ -179,9 +179,11 @@ public: QSNDict sn_write; QSNDict sn_except; QSFDict active_fd; +#ifndef Q_OS_WINCE bool activateNotifiersPosted; - void doWsaAsyncSelect(int socket, long event); void postActivateSocketNotifiers(); +#endif + void doWsaAsyncSelect(int socket, long event); QList<QWinEventNotifier *> winEventNotifierList; void activateEventNotifier(QWinEventNotifier * wen); |