diff --git a/public-trunk/apps/OpenBTS.cpp b/public-trunk/apps/OpenBTS.cpp index 959db7e..fdebfb8 100644 --- a/public-trunk/apps/OpenBTS.cpp +++ b/public-trunk/apps/OpenBTS.cpp @@ -412,6 +412,8 @@ int main(int argc, char *argv[]) cout << endl << endl << gOpenBTSWelcome << endl; + try { + #if 1 cout << endl << "Starting the system..." << endl; @@ -571,6 +573,12 @@ int main(int argc, char *argv[]) runCLI(&gParser); } + } catch(SocketError) { + // Shutdown without core dump. + // SocketError is a usual case, e.g. it's fired when transceiver fails. + LOG(ALARM) << "Uncaught exception. Shutting down."; + } + if (!gBTS.hold()) { exitBTS(0, cout); }