Skip to content

Commit c3be1d9

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 c3be1d9

File tree

4 files changed

+7
-0
lines changed

4 files changed

+7
-0
lines changed

rcl/src/rcl/client.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ rcl_client_init(
189189
fail:
190190
if (client->impl) {
191191
allocator->deallocate(client->impl, allocator->state);
192+
client->impl = NULL;
192193
}
193194
ret = fail_ret;
194195
// Fall through to cleanup
@@ -223,6 +224,7 @@ rcl_client_fini(rcl_client_t * client, rcl_node_t * node)
223224
result = RCL_RET_ERROR;
224225
}
225226
allocator.deallocate(client->impl, allocator.state);
227+
client->impl = NULL;
226228
}
227229
RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Client finalized");
228230
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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ rcl_service_init(
193193
fail:
194194
if (service->impl) {
195195
allocator->deallocate(service->impl, allocator->state);
196+
service->impl = NULL;
196197
}
197198
ret = fail_ret;
198199
// Fall through to clean up
@@ -228,6 +229,7 @@ rcl_service_fini(rcl_service_t * service, rcl_node_t * node)
228229
result = RCL_RET_ERROR;
229230
}
230231
allocator.deallocate(service->impl, allocator.state);
232+
service->impl = NULL;
231233
}
232234
RCUTILS_LOG_DEBUG_NAMED(ROS_PACKAGE_NAME, "Service finalized");
233235
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)