Some threads were slow to shut down, taking 5-10 seconds after system shutdown to fully exit. This appeared to be primarily caused by the FPS timers not being interruptable, but there were other minor shutdown tasks that would take a while.
Reason
A quicker shutdown allows us to release resources quicker on systems, allowing a full restarts of the code in a shorter time frame.
Method / Design
Changes included:
Change the OpenRealm::Timer code to use conditional variables in the wait statement allowing the timer to be interrupted
Moved the shutdown code for pose estimation to the finishCallback to start shutting down vslam earlier in the shutdown phase
Set the OpenVSlam terminate flag to help exit their loop quicker
Description
Some threads were slow to shut down, taking 5-10 seconds after system shutdown to fully exit. This appeared to be primarily caused by the FPS timers not being interruptable, but there were other minor shutdown tasks that would take a while.
Reason
A quicker shutdown allows us to release resources quicker on systems, allowing a full restarts of the code in a shorter time frame.
Method / Design
Changes included:
Testing
Compiled and run on: Ubuntu 20.04 - Desktop
Other Notes