mirclient had some non-trivial static duration data that was accessed when connection_release was called.
This is fine for all the tests and examples in Mir. But platform-api delays calling connection_release until later with the result that access to dead objects was possible.
The linked branch changes one of the mir examples to do a similar thing and updates the client library to explicitly manage the lifetime of the required data.
The problem is a cleardown sequence difficulty.
mirclient had some non-trivial static duration data that was accessed when connection_release was called.
This is fine for all the tests and examples in Mir. But platform-api delays calling connection_release until later with the result that access to dead objects was possible.
The linked branch changes one of the mir examples to do a similar thing and updates the client library to explicitly manage the lifetime of the required data.