Skip to content

Commit 53052d9

Browse files
committed
Tweaks to client.c and subscription.c for cleaner init/fini
Signed-off-by: Stephen Brawner <[email protected]>
1 parent af438bc commit 53052d9

File tree

4 files changed

+5
-0
lines changed

4 files changed

+5
-0
lines changed

rcl/src/rcl/client.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ rcl_client_fini(rcl_client_t * client, rcl_node_t * node)
223223
result = RCL_RET_ERROR;
224224
}
225225
allocator.deallocate(client->impl, allocator.state);
226+
client->impl = NULL;
226227
}
227228
RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Client finalized");
228229
return result;

rcl/src/rcl/publisher.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ rcl_publisher_fini(rcl_publisher_t * publisher, rcl_node_t * node)
236236
result = RCL_RET_ERROR;
237237
}
238238
allocator.deallocate(publisher->impl, allocator.state);
239+
publisher->impl = NULL;
239240
}
240241
RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Publisher finalized");
241242
return result;

rcl/src/rcl/service.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ rcl_service_fini(rcl_service_t * service, rcl_node_t * node)
228228
result = RCL_RET_ERROR;
229229
}
230230
allocator.deallocate(service->impl, allocator.state);
231+
service->impl = NULL;
231232
}
232233
RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Service finalized");
233234
return result;

rcl/src/rcl/subscription.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ rcl_subscription_init(
194194
fail:
195195
if (subscription->impl) {
196196
allocator->deallocate(subscription->impl, allocator->state);
197+
subscription->impl = NULL;
197198
}
198199
ret = fail_ret;
199200
// Fall through to cleanup
@@ -229,6 +230,7 @@ rcl_subscription_fini(rcl_subscription_t * subscription, rcl_node_t * node)
229230
result = RCL_RET_ERROR;
230231
}
231232
allocator.deallocate(subscription->impl, allocator.state);
233+
subscription->impl = NULL;
232234
}
233235
RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Subscription finalized");
234236
return result;

0 commit comments

Comments
 (0)