summaryrefslogtreecommitdiff
path: root/vcl/README.scheduler
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/README.scheduler')
-rw-r--r--vcl/README.scheduler11
1 files changed, 11 insertions, 0 deletions
diff --git a/vcl/README.scheduler b/vcl/README.scheduler
index 52c76dac5b85..718509033e79 100644
--- a/vcl/README.scheduler
+++ b/vcl/README.scheduler
@@ -58,6 +58,17 @@ Task::mpSchedulerData, which is actually a part of the scheduler.
Before invoking the task, we have to release the lock, so others can
Start new Tasks.
+The Scheduler just processes it's own Tasks in the main thread and needs
+the SolarMutex for it and for DeInit (tested by DBG_TESTSOLARMUTEX). All
+the other interaction just take the SchedulerMutex or don't need locking
+at all.
+
+There is a "workaround" for static Task objecs, which would crash LO on
+destruction, because Task::~Task would try to de-register itself in the
+Scheduler, while the SchedulerLock would be long gone. OTOH this makes
+Task handling less error-prone, than doing "special" manual cleanup.
+There is also a "= TODOs and ideas =" to get rid if static Tasks.
+
= Lifecycle / thread-safety of Scheduler-based objects =