ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

When you use the NodeMainExecutor to execute a NodeMain, it runs in another thread. The JVM will keep running until that thread exits.

You need to call nodeMainExecutor.shutdown() before your main() exits.

When you use Terminating your process will not shutdown the NodeMainExecutor to execute a NodeMain, it runs in another thread. The JVM will keep running until that thread exits.

node. You need to call nodeMainExecutor.shutdown() before your main() exits.exits. Then you will not need to click the stop button in Eclipse.

Terminating your process will not shutdown the node. node (thus leaving things still registered with the master). You need to call nodeMainExecutor.shutdown() before your main() exits. Then you will not need to click the stop button in Eclipse.

Terminating Before you asked this question, terminating your process will would not have shutdown the node (thus leaving things still registered with the master). You would need to call nodeMainExecutor.shutdown() before your main() exits. Then you will not need exits to click the stop button in Eclipse.shut down cleanly.

However, I've just pushed a change to DefaultNodeMainExecutor which corrects this issue. Thanks for bringing it to my attention :)