]> git.tdb.fi Git - xinema.git/blobdiff - source/networkinterface.cpp
Avoid crashing due to network exceptions
[xinema.git] / source / networkinterface.cpp
index e5283b6ff96791c068b334e0a42ea1a0d102ad91..29947e84574701ea5e2c3c36e833636f5f8124ac 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/io/print.h>
 #include <msp/net/inet6.h>
 #include <msp/net/resolve.h>
 #include "client.h"
@@ -68,7 +69,14 @@ void NetworkInterface::NetworkThread::main()
 {
        while(!done)
        {
-               network.event_disp.tick();
+               try
+               {
+                       network.event_disp.tick();
+               }
+               catch(const std::exception &e)
+               {
+                       IO::print(IO::cerr, "Unhandled exception in network thread: %s\n", e.what());
+               }
 
                for(list<Client *>::iterator i=network.clients.begin(); i!=network.clients.end(); )
                {