diff options
author | Anton Babushkin <anton.babushkin@me.com> | 2014-03-01 17:12:46 +0400 |
---|---|---|
committer | Anton Babushkin <anton.babushkin@me.com> | 2014-03-01 17:12:46 +0400 |
commit | c10ef787539265bc36fb76c855aa19b30ea24b04 (patch) | |
tree | 341e883b08b0bae77824c18fe9d1ddd67b1bf5f8 /src/modules/mavlink/mavlink_main.cpp | |
parent | c47ef70dd9437b190265934e70641f8674bb3e18 (diff) | |
download | px4-firmware-c10ef787539265bc36fb76c855aa19b30ea24b04.tar.gz px4-firmware-c10ef787539265bc36fb76c855aa19b30ea24b04.tar.bz2 px4-firmware-c10ef787539265bc36fb76c855aa19b30ea24b04.zip |
mavlink: stop fixes
Diffstat (limited to 'src/modules/mavlink/mavlink_main.cpp')
-rw-r--r-- | src/modules/mavlink/mavlink_main.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index b996413a8..568666c1e 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -308,7 +308,7 @@ Mavlink::destroy_all_instances() usleep(10000); iterations++; - if (iterations > 10000) { + if (iterations > 1000) { warnx("ERROR: Couldn't stop all mavlink instances."); return ERROR; } @@ -1850,18 +1850,23 @@ Mavlink::task_main(int argc, char *argv[]) delete _subscribe_to_stream; _subscribe_to_stream = nullptr; + warnv("waiting for UART receive thread"); + /* wait for threads to complete */ pthread_join(receive_thread, NULL); - /* Reset the UART flags to original state */ + /* reset the UART flags to original state */ tcsetattr(_uart, TCSANOW, &uart_config_original); + /* close UART */ + close(_uart); + /* destroy log buffer */ mavlink_logbuffer_destroy(&lb); thread_running = false; - warnx("exiting."); + warnx("exiting"); _mavlink_task = -1; _exit(0); |