1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 03:40:14 +00:00
OpenMW/components
elsid b8fcd6d3ba
Manage work item lifetime on the client side
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.

After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.

CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
2021-07-12 11:41:14 +02:00
..
2021-06-24 19:21:29 +00:00
2021-07-09 20:24:56 +02:00
2021-06-25 21:54:35 +02:00
2021-05-12 10:34:39 +04:00
2021-07-09 20:48:54 +02:00
2021-06-25 21:54:35 +02:00
2021-07-10 01:01:50 +02:00
2021-06-25 21:54:35 +02:00
2021-05-12 10:34:40 +04:00
2019-02-23 08:02:12 +04:00
2018-10-09 10:21:12 +04:00
2021-05-12 10:34:39 +04:00
2021-07-09 20:48:54 +02:00