diff options
author | Julian Oes <joes@student.ethz.ch> | 2013-02-11 16:54:36 -0800 |
---|---|---|
committer | Julian Oes <joes@student.ethz.ch> | 2013-02-11 16:54:36 -0800 |
commit | 6fe5291147fc7186a8054b05d6fe4939adabee92 (patch) | |
tree | ca959dafa29196ad3e27c42213d6af13c82a244e /apps/mavlink | |
parent | c19870d565221effca545077356c89defd14bf6e (diff) | |
parent | ab44a64ca01f35d9f9777d18a01ff9f35996fbf2 (diff) | |
download | px4-firmware-6fe5291147fc7186a8054b05d6fe4939adabee92.tar.gz px4-firmware-6fe5291147fc7186a8054b05d6fe4939adabee92.tar.bz2 px4-firmware-6fe5291147fc7186a8054b05d6fe4939adabee92.zip |
Merge remote-tracking branch 'upstream/master' into attitude_filter_improvement
Diffstat (limited to 'apps/mavlink')
-rw-r--r-- | apps/mavlink/mavlink_receiver.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/mavlink/mavlink_receiver.c b/apps/mavlink/mavlink_receiver.c index ccca8bdc6..510d2f3e4 100644 --- a/apps/mavlink/mavlink_receiver.c +++ b/apps/mavlink/mavlink_receiver.c @@ -586,12 +586,12 @@ receive_thread(void *arg) struct pollfd fds[] = { { .fd = uart_fd, .events = POLLIN } }; if (poll(fds, 1, timeout) > 0) { - /* non-blocking read */ - size_t nread = read(uart_fd, buf, sizeof(buf)); - ASSERT(nread > 0) + /* non-blocking read. read may return negative values */ + ssize_t nread = read(uart_fd, buf, sizeof(buf)); - for (size_t i = 0; i < nread; i++) { - if (mavlink_parse_char(chan, buf[i], &msg, &status)) { //parse the char + /* if read failed, this loop won't execute */ + for (ssize_t i = 0; i < nread; i++) { + if (mavlink_parse_char(chan, buf[i], &msg, &status)) { /* handle generic messages and commands */ handle_message(&msg); |