@@ -36,6 +36,7 @@ const char * rcl_lifecycle_cleanup_label = "cleanup";
3636const char * rcl_lifecycle_activate_label = "activate" ;
3737const char * rcl_lifecycle_deactivate_label = "deactivate" ;
3838const char * rcl_lifecycle_shutdown_label = "shutdown" ;
39+ const char * rcl_lifecycle_error_label = "error" ;
3940
4041const char * rcl_lifecycle_transition_success_label = "transition_success" ;
4142const char * rcl_lifecycle_transition_failure_label = "transition_failure" ;
@@ -391,6 +392,22 @@ _register_transitions(
391392 }
392393 }
393394
395+ // register transition from inactive to errorprocessing
396+ {
397+ rcl_lifecycle_transition_t rcl_transition_inactive_error = {
398+ rcl_lifecycle_error_label ,
399+ lifecycle_msgs__msg__Transition__TRANSITION_INACTIVE_ERROR ,
400+ inactive_state , errorprocessing_state
401+ };
402+ ret = rcl_lifecycle_register_transition (
403+ transition_map ,
404+ rcl_transition_inactive_error ,
405+ allocator );
406+ if (ret != RCL_RET_OK ) {
407+ return ret ;
408+ }
409+ }
410+
394411 // register transition from activating to active
395412 {
396413 rcl_lifecycle_transition_t rcl_transition_on_activate_success = {
@@ -455,6 +472,22 @@ _register_transitions(
455472 }
456473 }
457474
475+ // register transition from active to errorprocessing
476+ {
477+ rcl_lifecycle_transition_t rcl_transition_active_error = {
478+ rcl_lifecycle_error_label ,
479+ lifecycle_msgs__msg__Transition__TRANSITION_ACTIVE_ERROR ,
480+ active_state , errorprocessing_state
481+ };
482+ ret = rcl_lifecycle_register_transition (
483+ transition_map ,
484+ rcl_transition_active_error ,
485+ allocator );
486+ if (ret != RCL_RET_OK ) {
487+ return ret ;
488+ }
489+ }
490+
458491 // register transition from deactivating to inactive
459492 {
460493 rcl_lifecycle_transition_t rcl_transition_on_deactivate_success = {
0 commit comments