museumsvictoria / spatial_audio_server

An audio backend for the multi-layered soundscape of Beyond Perception: Seeing the Unseen, a permanent exhibition at Scienceworks in Melbourne, Australia.
81 stars 14 forks source link

Ensure that program closes properly if thread communication fails #168

Closed mitchmindtree closed 6 years ago

mitchmindtree commented 6 years ago

Currently it is possible for a thread to die and for the program to continue running, despite not being able to successfully communicate between threads. This can cause seemingly unrelated strange behaviour in the GUI.

This commit makes sure that the program closes immediately with an error message if a message cannot be sent across threads due to one of the threads dying.

cc @freesig this should also make sure the program doesn't continue running in a broken state if one of the threads panic and should allow a keepalive script to immediately restart the server.