Skip to content

Commit a1b6a3a

Browse files
Minor fixes (#160) (#163)
* Minor fixes * Update (cherry picked from commit 4b56874) Co-authored-by: Pablo Garrido <pablogs9@gmail.com>
1 parent 5a9654f commit a1b6a3a

2 files changed

Lines changed: 19 additions & 35 deletions

File tree

rmw_microxrcedds_c/src/rmw_init.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,10 +300,12 @@ rmw_context_fini(
300300
}
301301
}
302302

303-
uxr_delete_session(&context->impl->session);
304-
rmw_uxrce_fini_session_memory(context->impl);
303+
if (NULL != context->impl) {
304+
uxr_delete_session(&context->impl->session);
305+
rmw_uxrce_fini_session_memory(context->impl);
306+
CLOSE_TRANSPORT(&context->impl->transport);
307+
}
305308

306-
CLOSE_TRANSPORT(&context->impl->transport);
307309

308310
context->impl = NULL;
309311

rmw_microxrcedds_c/src/types.h

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -229,38 +229,20 @@ extern rmw_uxrce_static_input_buffer_t custom_static_buffers[RMW_UXRCE_MAX_HISTO
229229

230230
// Memory init functions
231231

232-
void rmw_uxrce_init_session_memory(
233-
rmw_uxrce_mempool_t * memory,
234-
rmw_context_impl_t * sessions,
235-
size_t size);
236-
void rmw_uxrce_init_node_memory(
237-
rmw_uxrce_mempool_t * memory,
238-
rmw_uxrce_node_t * nodes,
239-
size_t size);
240-
void rmw_uxrce_init_service_memory(
241-
rmw_uxrce_mempool_t * memory,
242-
rmw_uxrce_service_t * services,
243-
size_t size);
244-
void rmw_uxrce_init_client_memory(
245-
rmw_uxrce_mempool_t * memory,
246-
rmw_uxrce_client_t * clients,
247-
size_t size);
248-
void rmw_uxrce_init_publisher_memory(
249-
rmw_uxrce_mempool_t * memory,
250-
rmw_uxrce_publisher_t * publishers,
251-
size_t size);
252-
void rmw_uxrce_init_subscription_memory(
253-
rmw_uxrce_mempool_t * memory,
254-
rmw_uxrce_subscription_t * subscribers,
255-
size_t size);
256-
void rmw_uxrce_init_topic_memory(
257-
rmw_uxrce_mempool_t * memory,
258-
rmw_uxrce_topic_t * topics,
259-
size_t size);
260-
void rmw_uxrce_init_static_input_buffer_memory(
261-
rmw_uxrce_mempool_t * memory,
262-
rmw_uxrce_static_input_buffer_t * buffers,
263-
size_t size);
232+
#define RMW_INIT_DEFINE_MEMORY(X) \
233+
void rmw_uxrce_init_ ## X ## _memory( \
234+
rmw_uxrce_mempool_t * memory, \
235+
rmw_uxrce_ ## X ## _t * array, \
236+
size_t size);
237+
238+
RMW_INIT_DEFINE_MEMORY(service)
239+
RMW_INIT_DEFINE_MEMORY(client)
240+
RMW_INIT_DEFINE_MEMORY(publisher)
241+
RMW_INIT_DEFINE_MEMORY(subscription)
242+
RMW_INIT_DEFINE_MEMORY(node)
243+
RMW_INIT_DEFINE_MEMORY(session)
244+
RMW_INIT_DEFINE_MEMORY(topic)
245+
RMW_INIT_DEFINE_MEMORY(static_input_buffer)
264246

265247
// Memory management functions
266248

0 commit comments

Comments
 (0)