diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2017-07-27 11:42:31 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2017-08-04 13:38:20 +0200 |
commit | d55aabfd44563027aceffd0020f55b166184a0ca (patch) | |
tree | 9073855842a11796e8ea8434896eedd7b7b10747 /vcl/inc/svdata.hxx | |
parent | 3dd30f7ec568852ffd95932b486d0a09a2021d71 (diff) |
Implement VCL Scheduler locking
Replces the SolarMutex scheduler locking by using a distinct mutex
included in the scheduler context.
It should also get rid of the spurious assert( !bAniIdle ) failures,
as the test now holds the Scheduler lock for the whole time.
This includes reverting the additional scheduler de-init from commit
2e29a518b04250b5f9cc9d0d77da3df076834d60, as I couldn't reproduce
the bug running the unit test in valgrind.
Change-Id: If33f815fe86c8f82175e96adceb1084b925319dd
Reviewed-on: https://gerrit.libreoffice.org/40497
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'vcl/inc/svdata.hxx')
-rw-r--r-- | vcl/inc/svdata.hxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx index 3501d2c25d45..a633798d54ad 100644 --- a/vcl/inc/svdata.hxx +++ b/vcl/inc/svdata.hxx @@ -38,6 +38,7 @@ #include <unordered_map> #include <boost/functional/hash.hpp> #include "ControlCacheKey.hxx" +#include "schedulerimpl.hxx" struct ImplPostEventData; struct ImplTimerData; @@ -46,7 +47,6 @@ struct ImplConfigData; class ImplDirectFontSubstitution; struct ImplHotKey; struct ImplEventHook; -struct ImplSchedulerData; class Point; class ImplAccelManager; class PhysicalFontCollection; @@ -324,6 +324,8 @@ struct ImplSchedulerContext SalTimer* mpSalTimer = nullptr; ///< interface to sal event loop / system timer sal_uInt64 mnTimerStart = 0; ///< start time of the timer sal_uInt64 mnTimerPeriod = SAL_MAX_UINT64; ///< current timer period + SchedulerMutex maMutex; ///< lock counting mutex for scheduler locking + bool mbActive = true; ///< is the scheduler active? }; struct ImplSVData |