mirror of https://gerrit.osmocom.org/libosmocore
fsm: move LOGPFSMSRC and LOGPFSMLSRC to .h
LOGPFSM and LOGPFSML are in the header file, put the *SRC variants also there so users of the osmo_fsm_inst API may conveniently create own functions that log the caller's source file and line. Very useful if many action functions call the same event dispatching function, like foo_fsm_done(), and one needs to know which of the callers to debug. Change-Id: I39447b1d15237b28f88d8c5f08d82c764679dc80
This commit is contained in:
parent
c7155df3ec
commit
eeacf906dd
|
@ -125,6 +125,19 @@ void osmo_fsm_log_addr(bool log_addr);
|
|||
#define LOGPFSM(fi, fmt, args...) \
|
||||
LOGPFSML(fi, (fi)->log_level, fmt, ## args)
|
||||
|
||||
#define LOGPFSMLSRC(fi, level, caller_file, caller_line, fmt, args...) \
|
||||
LOGPSRC((fi)->fsm->log_subsys, level, \
|
||||
caller_file, caller_line, \
|
||||
"%s{%s}: " fmt, \
|
||||
osmo_fsm_inst_name(fi), \
|
||||
osmo_fsm_state_name((fi)->fsm, (fi)->state), \
|
||||
## args)
|
||||
|
||||
#define LOGPFSMSRC(fi, caller_file, caller_line, fmt, args...) \
|
||||
LOGPFSMLSRC(fi, (fi)->log_level, \
|
||||
caller_file, caller_line, \
|
||||
fmt, ## args)
|
||||
|
||||
int osmo_fsm_register(struct osmo_fsm *fsm);
|
||||
void osmo_fsm_unregister(struct osmo_fsm *fsm);
|
||||
struct osmo_fsm_inst *osmo_fsm_inst_alloc(struct osmo_fsm *fsm, void *ctx, void *priv,
|
||||
|
|
13
src/fsm.c
13
src/fsm.c
|
@ -284,19 +284,6 @@ const char *osmo_fsm_state_name(struct osmo_fsm *fsm, uint32_t state)
|
|||
return fsm->states[state].name;
|
||||
}
|
||||
|
||||
#define LOGPFSMLSRC(fi, level, caller_file, caller_line, fmt, args...) \
|
||||
LOGPSRC((fi)->fsm->log_subsys, level, \
|
||||
caller_file, caller_line, \
|
||||
"%s{%s}: " fmt, \
|
||||
osmo_fsm_inst_name(fi), \
|
||||
osmo_fsm_state_name((fi)->fsm, (fi)->state), \
|
||||
## args)
|
||||
|
||||
#define LOGPFSMSRC(fi, caller_file, caller_line, fmt, args...) \
|
||||
LOGPFSMLSRC(fi, (fi)->log_level, \
|
||||
caller_file, caller_line, \
|
||||
fmt, ## args)
|
||||
|
||||
/*! \brief perform a state change of the given FSM instance
|
||||
*
|
||||
* Best invoke via the osmo_fsm_inst_state_chg() macro which logs the source
|
||||
|
|
Loading…
Reference in New Issue