update
This commit is contained in:
parent
9a6b48e2fc
commit
c6b8fb2de0
10 changed files with 23 additions and 22 deletions
|
@ -38,7 +38,9 @@ class Executor
|
||||||
public:
|
public:
|
||||||
RCLCPP_MAKE_SHARED_DEFINITIONS(Executor);
|
RCLCPP_MAKE_SHARED_DEFINITIONS(Executor);
|
||||||
|
|
||||||
Executor() : interrupt_guard_condition_(rmw_create_guard_condition()) {}
|
Executor()
|
||||||
|
: interrupt_guard_condition_(rmw_create_guard_condition())
|
||||||
|
{}
|
||||||
|
|
||||||
virtual ~Executor()
|
virtual ~Executor()
|
||||||
{
|
{
|
||||||
|
@ -58,8 +60,7 @@ public:
|
||||||
auto node = weak_node.lock();
|
auto node = weak_node.lock();
|
||||||
if (node == node_ptr) {
|
if (node == node_ptr) {
|
||||||
// TODO: Use a different error here?
|
// TODO: Use a different error here?
|
||||||
throw std::runtime_error(
|
throw std::runtime_error("Cannot add node to executor, node already added.");
|
||||||
"Cannot add node to executor, node already added.");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
weak_nodes_.push_back(node_ptr);
|
weak_nodes_.push_back(node_ptr);
|
||||||
|
@ -100,7 +101,9 @@ public:
|
||||||
protected:
|
protected:
|
||||||
struct AnyExecutable
|
struct AnyExecutable
|
||||||
{
|
{
|
||||||
AnyExecutable() : subscription(0), timer(0), callback_group(0), node(0) {}
|
AnyExecutable()
|
||||||
|
: subscription(0), timer(0), callback_group(0), node(0)
|
||||||
|
{}
|
||||||
// Either the subscription or the timer will be set, but not both
|
// Either the subscription or the timer will be set, but not both
|
||||||
rclcpp::subscription::SubscriptionBase::SharedPtr subscription;
|
rclcpp::subscription::SubscriptionBase::SharedPtr subscription;
|
||||||
rclcpp::timer::TimerBase::SharedPtr timer;
|
rclcpp::timer::TimerBase::SharedPtr timer;
|
||||||
|
@ -313,8 +316,7 @@ protected:
|
||||||
std::malloc(sizeof(void *) * number_of_guard_conds));
|
std::malloc(sizeof(void *) * number_of_guard_conds));
|
||||||
if (guard_condition_handles.guard_conditions == NULL) {
|
if (guard_condition_handles.guard_conditions == NULL) {
|
||||||
// TODO(wjwwood): Use a different error here? maybe std::bad_alloc?
|
// TODO(wjwwood): Use a different error here? maybe std::bad_alloc?
|
||||||
throw std::runtime_error(
|
throw std::runtime_error("Could not malloc for guard condition pointers.");
|
||||||
"Could not malloc for guard condition pointers.");
|
|
||||||
}
|
}
|
||||||
// Put the global ctrl-c guard condition in
|
// Put the global ctrl-c guard condition in
|
||||||
assert(guard_condition_handles.guard_condition_count > 1);
|
assert(guard_condition_handles.guard_condition_count > 1);
|
||||||
|
|
|
@ -34,11 +34,11 @@ using namespace rclcpp::node;
|
||||||
using rclcpp::contexts::default_context::DefaultContext;
|
using rclcpp::contexts::default_context::DefaultContext;
|
||||||
|
|
||||||
Node::Node(std::string node_name)
|
Node::Node(std::string node_name)
|
||||||
: Node(node_name, DefaultContext::make_shared())
|
: Node(node_name, DefaultContext::make_shared())
|
||||||
{}
|
{}
|
||||||
|
|
||||||
Node::Node(std::string node_name, context::Context::SharedPtr context)
|
Node::Node(std::string node_name, context::Context::SharedPtr context)
|
||||||
: name_(node_name), context_(context),
|
: name_(node_name), context_(context),
|
||||||
number_of_subscriptions_(0), number_of_timers_(0), number_of_services_(0)
|
number_of_subscriptions_(0), number_of_timers_(0), number_of_services_(0)
|
||||||
{
|
{
|
||||||
node_handle_ = rmw_create_node(name_.c_str());
|
node_handle_ = rmw_create_node(name_.c_str());
|
||||||
|
|
|
@ -109,8 +109,7 @@ init(int argc, char * argv[])
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
throw std::runtime_error(
|
throw std::runtime_error(
|
||||||
std::string("Failed to set SIGINT signal handler: (" +
|
std::string("Failed to set SIGINT signal handler: (" + std::to_string(errno) + ")") +
|
||||||
std::to_string(errno) + ")") +
|
|
||||||
// TODO(wjwwood): use strerror_r on POSIX and strerror_s on Windows.
|
// TODO(wjwwood): use strerror_r on POSIX and strerror_s on Windows.
|
||||||
std::strerror(errno));
|
std::strerror(errno));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue