From 9df06ffdea9c9df81485fbdd86398c173c45d285 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 1 Jan 2020 15:28:13 -0500 Subject: [PATCH] posix main wait_to_exit() fix and catch SIGTERM - wait_to_exist() shouldn't depend on lockstep (px4_usleep) --- platforms/posix/src/px4/common/main.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/platforms/posix/src/px4/common/main.cpp b/platforms/posix/src/px4/common/main.cpp index 89841e4fac..7ed6a1a883 100644 --- a/platforms/posix/src/px4/common/main.cpp +++ b/platforms/posix/src/px4/common/main.cpp @@ -425,7 +425,7 @@ void register_sig_handler() sigaction(SIGINT, &sig_int, nullptr); #endif - //sigaction(SIGTERM, &sig_int, nullptr); + sigaction(SIGTERM, &sig_int, nullptr); sigaction(SIGFPE, &sig_fpe, nullptr); sigaction(SIGPIPE, &sig_pipe, nullptr); } @@ -433,7 +433,7 @@ void register_sig_handler() void sig_int_handler(int sig_num) { fflush(stdout); - printf("\nExiting...\n"); + printf("\nPX4 Exiting...\n"); fflush(stdout); px4_daemon::Pxh::stop(); _exit_requested = true; @@ -552,7 +552,8 @@ int run_startup_script(const std::string &commands_file, const std::string &abso void wait_to_exit() { while (!_exit_requested) { - px4_usleep(100000); + // needs to be a regular sleep not dependant on lockstep (not px4_usleep) + usleep(100000); } }