diff --git a/built_packages b/built_packages index 685fc7398..9d870d9c5 100755 --- a/built_packages +++ b/built_packages @@ -9,8 +9,8 @@ https://github.com/eProsima/Micro-CDR.git ed4fd513a24a53b93d548d342cb7aa0a18716f https://github.com/eProsima/Micro-XRCE-DDS-Client.git 83f129a80770a09aac9e823896ecbf6a0eddf0fc https://github.com/micro-ROS/micro_ros_msgs.git 4594d9db17db735b1e655141fb4afb4cdcfc5789 https://github.com/micro-ROS/micro_ros_utilities aa799eea0a63edfc1665cdcb1e9053827b69c730 -https://github.com/micro-ROS/rcl 754611a018a67e9f8d75b45bc140210cb2c10afa -https://github.com/micro-ROS/rcutils 9b5bd96bf22c1934c82692c17ea8bbef1bd4d980 +https://github.com/micro-ROS/rcl 8f2fd763347d83b21e3b90760f283d4468b60b55 +https://github.com/micro-ROS/rcutils d911c12358ba7846195baa0d0e293a0169f6fa7d https://github.com/micro-ROS/rmw-microxrcedds.git 554445fe739e4c5bcb27753ffbe21e03bb2c3c1f https://github.com/micro-ROS/rosidl_typesupport.git 23f15cd3897f81f7e4938c303a7abbe7d06801ec https://github.com/micro-ROS/rosidl_typesupport_microxrcedds.git 6243b9f89e40ba4742c757951d7195f3d7745819 @@ -19,7 +19,7 @@ https://github.com/ros2/ament_cmake_ros.git 15f835d0e31354c4ac958a32b5f1caa42465 https://github.com/ros2/common_interfaces.git 784c48971ed8e95d27f86df26d4e893adddf433d https://github.com/ros2/example_interfaces.git 4d7d086e4791e1839fecb9c50a1291d4056b916f https://github.com/ros2/libyaml_vendor.git dbba913fdbdcfb5388c335619ca66eb4d891e59e -https://github.com/ros2/rcl.git 052342084df07e1149d14d5f24e84df52c69f077 +https://github.com/ros2/rcl.git 7927b7649b2f1089c87492ed6b22a919a5d0dbed https://github.com/ros2/rcl_interfaces.git 003987ecb81a32802ab27dd6d325b8c6b8b813cc https://github.com/ros2/rcl_logging.git 128d88e6e4ad6df97405564afbdffa2ebc167814 https://github.com/ros2/rclc 995cda8c68456c7477ed103d9419a161fd068960 diff --git a/src/cortex-m0plus/libmicroros.a b/src/cortex-m0plus/libmicroros.a index ae6f46e9b..1bb228f1d 100755 Binary files a/src/cortex-m0plus/libmicroros.a and b/src/cortex-m0plus/libmicroros.a differ diff --git a/src/cortex-m3/libmicroros.a b/src/cortex-m3/libmicroros.a index 63837d96e..fded89253 100755 Binary files a/src/cortex-m3/libmicroros.a and b/src/cortex-m3/libmicroros.a differ diff --git a/src/cortex-m4/libmicroros.a b/src/cortex-m4/libmicroros.a index b5be9d5f6..beadaac73 100755 Binary files a/src/cortex-m4/libmicroros.a and b/src/cortex-m4/libmicroros.a differ diff --git a/src/cortex-m7/fpv5-d16-softfp/libmicroros.a b/src/cortex-m7/fpv5-d16-softfp/libmicroros.a index e85eb04e8..9022182c4 100755 Binary files a/src/cortex-m7/fpv5-d16-softfp/libmicroros.a and b/src/cortex-m7/fpv5-d16-softfp/libmicroros.a differ diff --git a/src/cortex-m7/fpv5-sp-d16-hardfp/libmicroros.a b/src/cortex-m7/fpv5-sp-d16-hardfp/libmicroros.a index 521244db6..38a10c5c3 100755 Binary files a/src/cortex-m7/fpv5-sp-d16-hardfp/libmicroros.a and b/src/cortex-m7/fpv5-sp-d16-hardfp/libmicroros.a differ diff --git a/src/cortex-m7/fpv5-sp-d16-softfp/libmicroros.a b/src/cortex-m7/fpv5-sp-d16-softfp/libmicroros.a index 220860b90..80d31a761 100755 Binary files a/src/cortex-m7/fpv5-sp-d16-softfp/libmicroros.a and b/src/cortex-m7/fpv5-sp-d16-softfp/libmicroros.a differ diff --git a/src/esp32/libmicroros.a b/src/esp32/libmicroros.a index ef16e56fa..c0fb33369 100755 Binary files a/src/esp32/libmicroros.a and b/src/esp32/libmicroros.a differ diff --git a/src/imxrt1062/fpv5-d16-hard/libmicroros.a b/src/imxrt1062/fpv5-d16-hard/libmicroros.a index 639a0ff09..c75ded216 100755 Binary files a/src/imxrt1062/fpv5-d16-hard/libmicroros.a and b/src/imxrt1062/fpv5-d16-hard/libmicroros.a differ diff --git a/src/mk20dx256/libmicroros.a b/src/mk20dx256/libmicroros.a index bbe33ad75..065ebeac8 100755 Binary files a/src/mk20dx256/libmicroros.a and b/src/mk20dx256/libmicroros.a differ diff --git a/src/mk64fx512/fpv4-sp-d16-hard/libmicroros.a b/src/mk64fx512/fpv4-sp-d16-hard/libmicroros.a index 4e28392a0..c82c033b5 100755 Binary files a/src/mk64fx512/fpv4-sp-d16-hard/libmicroros.a and b/src/mk64fx512/fpv4-sp-d16-hard/libmicroros.a differ diff --git a/src/mk66fx1m0/fpv4-sp-d16-hard/libmicroros.a b/src/mk66fx1m0/fpv4-sp-d16-hard/libmicroros.a index 4e28392a0..c82c033b5 100755 Binary files a/src/mk66fx1m0/fpv4-sp-d16-hard/libmicroros.a and b/src/mk66fx1m0/fpv4-sp-d16-hard/libmicroros.a differ diff --git a/src/rcl_action/version.h b/src/rcl_action/version.h index cfce35759..dd9de28e6 100755 --- a/src/rcl_action/version.h +++ b/src/rcl_action/version.h @@ -25,11 +25,11 @@ /// \def RCL_ACTION_VERSION_PATCH /// Defines RCL_ACTION version patch number -#define RCL_ACTION_VERSION_PATCH (3) +#define RCL_ACTION_VERSION_PATCH (4) /// \def RCL_ACTION_VERSION_STR /// Defines RCL_ACTION version string -#define RCL_ACTION_VERSION_STR "9.2.3" +#define RCL_ACTION_VERSION_STR "9.2.4" /// \def RCL_ACTION_VERSION_GTE /// Defines a macro to check whether the version of RCL_ACTION is greater than or equal to diff --git a/src/rcl_lifecycle/version.h b/src/rcl_lifecycle/version.h index d331bbd5b..ac8d01706 100755 --- a/src/rcl_lifecycle/version.h +++ b/src/rcl_lifecycle/version.h @@ -25,11 +25,11 @@ /// \def RCL_LIFECYCLE_VERSION_PATCH /// Defines RCL_LIFECYCLE version patch number -#define RCL_LIFECYCLE_VERSION_PATCH (3) +#define RCL_LIFECYCLE_VERSION_PATCH (4) /// \def RCL_LIFECYCLE_VERSION_STR /// Defines RCL_LIFECYCLE version string -#define RCL_LIFECYCLE_VERSION_STR "9.2.3" +#define RCL_LIFECYCLE_VERSION_STR "9.2.4" /// \def RCL_LIFECYCLE_VERSION_GTE /// Defines a macro to check whether the version of RCL_LIFECYCLE is greater than or equal to diff --git a/src/rcutils/env.h b/src/rcutils/env.h index b82b3e0c8..154aa6661 100755 --- a/src/rcutils/env.h +++ b/src/rcutils/env.h @@ -55,6 +55,36 @@ RCUTILS_WARN_UNUSED bool rcutils_set_env(const char * env_name, const char * env_value); +/// Set or un-set a process-scoped environment variable while specifying overwrite behavior. +/** + * This function modifies the environment variables for the current process by + * copying given string values into the process' global environment variable + * store. + * + * \par Thread Safety: + * This function is not thread-safe. Take care not to modify the environment variables while + * another thread might be reading or writing environment variables. + * + * \par Platform Consistency: + * The behavior when setting a variable to an empty string (`""`) differs + * between platforms. On Windows, the variable is un-set (as if \p env_value was + * `NULL`), while on other platforms the variable is set to an empty string as + * expected. + * + * \param[in] env_name Name of the environment variable to modify. + * \param[in] env_value Value to set the environment variable to, or `NULL` to + * un-set. + * \param[in] overwrite If true, the environemnt variable value will not be overwritten + * if previously set. + * \return `true` if success, or + * \return `false` if env_name is invalid or NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_set_env_overwrite(const char * env_name, const char * env_value, bool overwrite); + /// Retrieve the value of the given environment variable if it exists, or "". /** The c-string which is returned in the env_value output parameter is only * valid until the next time this function is called, because it is a direct