Add an allocator to the external logging initialization. (#430)

* Add an allocator to the external logging initialization.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
This commit is contained in:
Chris Lalancette 2019-05-02 21:44:07 -04:00 committed by GitHub
parent eabe426866
commit 7660956a96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -25,13 +25,21 @@
* logging library should use to configure itself.
* If no config file is provided this will be set to an empty string.
* Must be a NULL terminated c string.
* \param[in] allocator The allocator to use for memory allocation. This is
* an rcutils_allocator_t rather than an rcl_allocator_t to ensure that the
* rcl_logging_* packages don't have a circular dependency back to rcl.
* \todo TODO(clalancette) This API is marked RCL_PUBLIC, but is not built or
* exported from librcl. Instead, these headers should be split into a
* separate package which is then depended on by both rcl and the
* rcl_logging_* implementations. The duplicated headers from the
* implementations could then be removed.
* \return RCL_RET_OK if initialized successfully, or
* \return RCL_RET_ERROR if an unspecified error occurs.
*/
RCL_PUBLIC
RCL_WARN_UNUSED
rcl_ret_t
rcl_logging_external_initialize(const char * config_file);
rcl_logging_external_initialize(const char * config_file, rcutils_allocator_t allocator);
/// Free the resources allocated for the external logging system.
/**

View file

@ -93,7 +93,7 @@ rcl_logging_configure(const rcl_arguments_t * global_args, const rcl_allocator_t
}
}
if (g_rcl_logging_ext_lib_enabled) {
status = rcl_logging_external_initialize(config_file);
status = rcl_logging_external_initialize(config_file, g_logging_allocator);
if (RCL_RET_OK == status) {
rcl_logging_external_set_logger_level(NULL, default_level);
g_rcl_logging_out_handlers[g_rcl_logging_num_out_handlers++] =