X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetworkinterface.cpp;h=29947e84574701ea5e2c3c36e833636f5f8124ac;hb=a1e6d14ce3a5d5415333a4d3def6c5504f4bc49b;hp=1bf7b4a8e159bfc004d951e48e8dd2a02f9fa7df;hpb=5a79899d5a888e9aa76f29cb889e77979062a4a1;p=xinema.git diff --git a/source/networkinterface.cpp b/source/networkinterface.cpp index 1bf7b4a..29947e8 100644 --- a/source/networkinterface.cpp +++ b/source/networkinterface.cpp @@ -1,3 +1,4 @@ +#include #include #include #include "client.h" @@ -6,8 +7,6 @@ using namespace std; using namespace Msp; -#include - NetworkInterface::NetworkInterface(Xinema &x): xinema(x) { @@ -46,7 +45,6 @@ void NetworkInterface::discover_request() Net::SockAddr *peer_addr; char rbuf[1024]; discover_sock->recvfrom(rbuf, sizeof(rbuf), peer_addr); - IO::print("Discovery beacon received from %s\n", peer_addr->str()); discover_sock->sendto("xinema", 6, *peer_addr); delete peer_addr; } @@ -71,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::iterator i=network.clients.begin(); i!=network.clients.end(); ) {