Skip to content

Commit b996df1

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

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
@@ -305,10 +305,12 @@ rmw_context_fini(
305305
}
306306
}
307307

308-
uxr_delete_session(&context->impl->session);
309-
rmw_uxrce_fini_session_memory(context->impl);
308+
if (NULL != context->impl) {
309+
uxr_delete_session(&context->impl->session);
310+
rmw_uxrce_fini_session_memory(context->impl);
311+
CLOSE_TRANSPORT(&context->impl->transport);
312+
}
310313

311-
CLOSE_TRANSPORT(&context->impl->transport);
312314

313315
context->impl = NULL;
314316

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)