From 930e827ef6381fcba4f585e7686992515cd6633e Mon Sep 17 00:00:00 2001 From: Arusekk Date: Fri, 24 Jan 2020 18:11:29 +0100 Subject: [PATCH 1/2] Do not display error message if poll yields EINTR Closes #1370 closes TonyRobotics/RoboWare#63 closes ericsantii/alexa-turtlesim-ros#2 --- clients/roscpp/src/libros/poll_set.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clients/roscpp/src/libros/poll_set.cpp b/clients/roscpp/src/libros/poll_set.cpp index 50580ee806..6de00b5eb6 100644 --- a/clients/roscpp/src/libros/poll_set.cpp +++ b/clients/roscpp/src/libros/poll_set.cpp @@ -191,7 +191,10 @@ void PollSet::update(int poll_timeout) boost::shared_ptr > ofds = poll_sockets(epfd_, &ufds_.front(), ufds_.size(), poll_timeout); if (!ofds) { - ROS_ERROR_STREAM("poll failed with error " << last_socket_error_string()); + if (errno != EINTR) + { + ROS_ERROR_STREAM("poll failed with error " << last_socket_error_string()); + } } else { From 391ab3f7e5a671d2a92dcaf2d41959523684b347 Mon Sep 17 00:00:00 2001 From: Arusekk Date: Fri, 24 Jan 2020 18:27:56 +0100 Subject: [PATCH 2/2] Keep abstraction compatibility --- clients/roscpp/src/libros/poll_set.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/roscpp/src/libros/poll_set.cpp b/clients/roscpp/src/libros/poll_set.cpp index 6de00b5eb6..065a607b40 100644 --- a/clients/roscpp/src/libros/poll_set.cpp +++ b/clients/roscpp/src/libros/poll_set.cpp @@ -191,7 +191,7 @@ void PollSet::update(int poll_timeout) boost::shared_ptr > ofds = poll_sockets(epfd_, &ufds_.front(), ufds_.size(), poll_timeout); if (!ofds) { - if (errno != EINTR) + if (last_socket_error() != EINTR) { ROS_ERROR_STREAM("poll failed with error " << last_socket_error_string()); }