diff --git a/rosserial_server/include/rosserial_server/topic_handlers.h b/rosserial_server/include/rosserial_server/topic_handlers.h index 737adb5b4..9ab55434e 100644 --- a/rosserial_server/include/rosserial_server/topic_handlers.h +++ b/rosserial_server/include/rosserial_server/topic_handlers.h @@ -165,9 +165,8 @@ class ServiceClient { ros::serialization::Serializer::read(stream, request_message_); // perform service call - // note that at present, at least for rosserial-windows a service call returns nothing, - // so we discard the return value of this call() invocation. - service_client_.call(request_message_, response_message_, service_md5_); + if (!service_client_.call(request_message_, response_message_, service_md5_)) + return; // write service response over the wire size_t length = ros::serialization::serializationLength(response_message_);