diff --git a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionClient.java b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionClient.java index 2ee6fa57972d9ade777007d85001ebe9d6d582e8..cd69b55091aafd5e75c440c0223b6131b5387511 100644 --- a/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionClient.java +++ b/src/rosjava_actionlib/rosjava_actionlib/src/main/java/com/github/ekumen/rosjava_actionlib/ActionClient.java @@ -103,6 +103,9 @@ public class ActionClient<T_ACTION_GOAL extends Message, if (serverResult != null) { serverResult.shutdown(5, TimeUnit.SECONDS); } + if (serverStatus != null) { + serverStatus.shutdown(5, TimeUnit.SECONDS); + } } public void gotResult(T_ACTION_RESULT message) { @@ -142,4 +145,8 @@ public class ActionClient<T_ACTION_GOAL extends Message, unpublishClient(); unsubscribeToServer(); } + + protected void finalize() { + finish(); + } }