~raof/mir/no-ipc-on-compositor-threads

Viewing all changes in revision 4228.

  • Committer: Christopher James Halse Rogers
  • Date: 2017-08-01 03:56:53 UTC
  • Revision ID: christopher.halse.rogers@canonical.com-20170801035653-rqhrjrp0j9dvq3j6
*Another* stab at executor shutdown without deadlocks.

The C++ Executor proposal pervasively uses references to Executors rather than
owned executors, and provides the system_executor which has a lifetime that just
exceeds main().

This nicely resolves the deadlock involved with the Executor being destroyed while
a lock is held, due to shared_ptr<> destruction at an unexpected point, while still
ensuring that the Executor thread is destroyed before program exit, thus appeasing
Valgrind (and also anyone dlopen()ing Mir).

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: