This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgNeels Hofmeyr has submitted this change and it was merged. Change subject: add value strings for enum osmo_fsm_term_cause and use for logging ...................................................................... add value strings for enum osmo_fsm_term_cause and use for logging Change-Id: Iaf63d3cadb0d46bf454e3314ebb439240cafd834 --- M include/osmocom/core/fsm.h M src/fsm.c 2 files changed, 20 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Holger Freyther: Looks good to me, approved diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 77072ef..5a67961 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -30,6 +30,13 @@ OSMO_FSM_TERM_TIMEOUT, }; +extern const struct value_string osmo_fsm_term_cause_names[]; +static inline const char *osmo_fsm_term_cause_name(enum osmo_fsm_term_cause cause) +{ + return get_value_string(osmo_fsm_term_cause_names, cause); +} + + /*! \brief description of a rule in the FSM */ struct osmo_fsm_state { /*! \brief bit-mask of permitted input events for this state */ diff --git a/src/fsm.c b/src/fsm.c index dc57e5e..d251cfd 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -431,7 +431,8 @@ struct osmo_fsm_inst *parent = fi->proc.parent; uint32_t parent_term_event = fi->proc.parent_term_event; - LOGPFSMSRC(fi, file, line, "Terminating (cause = %u)\n", cause); + LOGPFSMSRC(fi, file, line, "Terminating (cause = %s)\n", + osmo_fsm_term_cause_name(cause)); /* iterate over all children */ llist_for_each_entry_safe(child, child2, &fi->proc.children, proc.child) { @@ -456,4 +457,15 @@ file, line); } +#define ENUM_VAL_TO_VALUE_STRING(X) { X, #X } + +const struct value_string osmo_fsm_term_cause_names[] = { + ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_PARENT), + ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_REQUEST), + ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_REGULAR), + ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_ERROR), + ENUM_VAL_TO_VALUE_STRING(OSMO_FSM_TERM_TIMEOUT), + { 0, NULL } +}; + /*! @} */ -- To view, visit https://gerrit.osmocom.org/1433 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iaf63d3cadb0d46bf454e3314ebb439240cafd834 Gerrit-PatchSet: 2 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Holger Freyther <holger at freyther.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max <msuraev at sysmocom.de> Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>