My favorites | Sign in
Project Home Wiki Issues Source
New issue   Search
  Advanced search   Search tips   Subscriptions
Issue 4: Control-C break doesn't interrupt motoman->motion_interface or robot_state
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Closed:  Sep 2013

Sign in to add a comment
Project Member Reported by, Dec 21, 2011
What steps will reproduce the problem?
1. Start either motion interface (rosrun motoman motion_interface) or (rosrun motoman joint_state)
2. Wait until the node connects to the controller (this assumes the controller is up and running as well)
3. Press Control-C in the terminal window to stop execution.

What is the expected output? What do you see instead?

The node should be cleanly killed almost immediately, instead the node never dies and an explicit "kill" command is required.

Dec 21, 2011
Project Member #1
This problem results from the inability of socket read calls to be interrupted.  The socket select function (wrapped in socket::isReadReady) can be used to create and interruptable socket read.

Using roslaunch hides this issue as the launch program eventually calls the "kill" command automatically.
Labels: Usability Package-Simple_Message
Feb 27, 2012
Project Member #2
r279 adds a check to ros::ok(), which makes robot_state shut down cleanly on Ctrl-C.
Status: Fixed
Feb 27, 2012
Project Member #3
Just saw motion_interface not shutdown cleanly.  So something more is needed.
Status: Started
Nov 2, 2012
Project Member #5
Jeremy, you might want to tackle this one with the generic client development.
Sep 5, 2013
Project Member #6
These issues have been corrected or made obsolete with the backporting of the fs100 driver to the dx100.  See here:
Status: Fixed
Sign in to add a comment

Powered by Google Project Hosting