diff options
author | mread <qt-info@nokia.com> | 2011-11-08 16:19:16 (GMT) |
---|---|---|
committer | mread <qt-info@nokia.com> | 2011-11-08 16:48:21 (GMT) |
commit | 5f5119e9019cf41ab811db822a5a38c241626382 (patch) | |
tree | 10598fd7397df1c07ee110c2cd2c28454f259b92 /src/s60installs | |
parent | 345c3f3502832e4850a6d9ea330ddca0c6e9c8bd (diff) | |
download | Qt-5f5119e9019cf41ab811db822a5a38c241626382.zip Qt-5f5119e9019cf41ab811db822a5a38c241626382.tar.gz Qt-5f5119e9019cf41ab811db822a5a38c241626382.tar.bz2 |
Preventing zero-timer lockups when Symbian's active scheduler used
Qt 4.7 had a deferred active object scheme to give Qt active objects
some round robin behaviour with Symbian's active scheduler. Qt 4.8
has a round robin active scheduler which removed the need for any
special support in Qt's active objects. Except it has been discovered
that sometimes Symbian's active scheduler is used, and if
Qt's zero-timer active objects are running at the time, they can
prevent any other active objects from running in Symbian's scheduler,
which can cause lockups.
This change re-introduces the deferred active object system for Qt
timer active objects. This means that a timer active object will only
run once per processEvents() call when Symbian's active scheduler is
used. Qt's round robin active scheduler already prevents an
active object running more than once per processEvents(), so this
change does not affect the normal case of using Qt's round robin
scheduler.
Task-number: QTTH-1494
Reviewed-by: Shane Kearns
Diffstat (limited to 'src/s60installs')
-rw-r--r-- | src/s60installs/eabi/QtCoreu.def | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index 1fabdb2..5436390 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -1294,7 +1294,7 @@ EXPORTS _ZN23QEventDispatcherSymbian24reactivateSocketNotifierEP15QSocketNotifier @ 1293 NONAME _ZN23QEventDispatcherSymbian24sendDeferredSocketEventsEv @ 1294 NONAME _ZN23QEventDispatcherSymbian24unregisterSocketNotifierEP15QSocketNotifier @ 1295 NONAME - _ZN23QEventDispatcherSymbian31reactivateDeferredActiveObjectsEv @ 1296 NONAME ABSENT + _ZN23QEventDispatcherSymbian31reactivateDeferredActiveObjectsEv @ 1296 NONAME _ZN23QEventDispatcherSymbian5flushEv @ 1297 NONAME _ZN23QEventDispatcherSymbian6wakeUpEv @ 1298 NONAME _ZN23QEventDispatcherSymbian9interruptEv @ 1299 NONAME @@ -3713,7 +3713,7 @@ EXPORTS _ZrsR11QDataStreamR12QEasingCurve @ 3712 NONAME _Z26qt_symbian_SetupThreadHeapiR24SStdEpocThreadCreateInfo @ 3713 NONAME _ZN24QAbstractDeclarativeData17objectNameChangedE @ 3714 NONAME DATA 4 - _ZN23QEventDispatcherSymbian36queueDeferredActiveObjectsCompletionEv @ 3715 NONAME ABSENT + _ZN23QEventDispatcherSymbian36queueDeferredActiveObjectsCompletionEv @ 3715 NONAME _ZN23QCoreApplicationPrivate18symbianCommandLineEv @ 3716 NONAME _ZNK11QMetaMethod8revisionEv @ 3717 NONAME _ZNK13QMetaProperty8revisionEv @ 3718 NONAME @@ -4164,4 +4164,5 @@ EXPORTS zlibCompileFlags @ 4163 NONAME _ZN14QFactoryLoader9updateDirERK7QStringR9QSettings @ 4164 NONAME _ZN23QCoreApplicationPrivate26rebuildInstallLibraryPathsEv @ 4165 NONAME + _ZN13QActiveObject18maybeQueueForLaterEv @ 4166 NONAME |