diff --git a/src/server/main.c b/src/server/main.c index efa354e2f99ad5eff9f1748716736f85c7e2724d..9359c4ec2a3da595a5dfdc356bbbe578be14e994 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -136,8 +136,11 @@ int main(int argc, char *argv[]) gsCoke_ModbusAddress = Config_GetValue("coke_modbus_address", 0); giCoke_ModbusPort = Config_GetValue_Int("coke_modbus_port", 0); + // - Cleanly tear down the server on SIGINT/SIGTERM signal(SIGINT, sigint_handler); signal(SIGTERM, sigint_handler); + // - ignore SIGPIPE to prevent a crashing client from bringing the server down too + signal(SIGPIPE, SIG_IGN); openlog("odispense2", 0, LOG_LOCAL4);