Options to the library are now set before the library is initialized. Thus, verbose and debug options can be used also during initialization.
Signed-off-by: Robert Richter <robert.rich...@amd.com> --- pfmon/pfmon.c | 24 +++++++++++------------- 1 files changed, 11 insertions(+), 13 deletions(-) diff --git a/pfmon/pfmon.c b/pfmon/pfmon.c index 6a92814..dde3d6e 100644 --- a/pfmon/pfmon.c +++ b/pfmon/pfmon.c @@ -1354,6 +1354,7 @@ setup_common_signals(void) static void pfmon_initialize(void) { + pfmlib_options_t pfmlib_options; uint64_t long_val; pfmlib_event_t e; struct timespec ts; @@ -1387,6 +1388,16 @@ pfmon_initialize(void) setup_common_signals(); + /* + * propagate debug/verbose options to library + */ + memset(&pfmlib_options, 0, sizeof(pfmlib_options)); + if (options.opt_debug) + pfmlib_options.pfm_debug = 1; + if (options.opt_verbose) + pfmlib_options.pfm_verbose = 1; + pfm_set_options(&pfmlib_options); + if (pfm_initialize() != PFMLIB_SUCCESS) fatal_error("cannot initialize library. Most likely host PMU is not supported.\n"); @@ -1861,7 +1872,6 @@ pfmon_convert_dfl_set(void) int main(int argc, char **argv) { - pfmlib_options_t pfmlib_options; char *endptr = NULL; pfmon_smpl_module_t *smpl_mod = NULL; unsigned long long_val; @@ -1869,8 +1879,6 @@ main(int argc, char **argv) int c, r, ret; int using_def_set = 1; - memset(&pfmlib_options, 0, sizeof(pfmlib_options)); - options.argv = argv; while ((c=getopt_long(argc, argv,"+0123kuvhe:Il::L::i:Vt:S:p:", pfmon_cmd_options, 0)) != -1) { @@ -2206,16 +2214,6 @@ main(int argc, char **argv) pfmon_setup_smpl_rates(); - /* - * propagate debug/verbose options to library - */ - if (options.opt_debug) - pfmlib_options.pfm_debug = 1; - if (options.opt_verbose) - pfmlib_options.pfm_verbose = 1; - - pfm_set_options(&pfmlib_options); - /* used in sampling output header */ options.argv = argv; options.command = argv+optind; -- 1.6.1.2 ------------------------------------------------------------------------------ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel