bridgeServer.cpp (677B)
1 #include <iostream> 2 3 #include "server.h" 4 5 #if !defined(_WIN32) && !defined(ANDROID) 6 #include <cstdio> 7 #include <execinfo.h> 8 #include <signal.h> 9 #include <cstdlib> 10 11 void segFaultHandler(int sig) 12 { 13 void *array[10]; 14 size_t size; 15 16 size = backtrace(array, 10); 17 18 fprintf(stderr, "Error: signal %d:\n", sig); 19 backtrace_symbols_fd(array, size, 2); 20 exit(1); 21 } 22 #endif 23 24 int main(int _argc, char** _argv) 25 { 26 #if !defined(_WIN32) && !defined(ANDROID) 27 signal(SIGSEGV, segFaultHandler); 28 #endif 29 30 while(true) 31 { 32 try 33 { 34 bridgeServer::Server server(_argc, _argv); 35 server.run(); 36 } 37 catch(...) 38 { 39 std::cout << "Server exception, attempting to restart\n"; 40 } 41 } 42 return 0; 43 }