diff --git a/meson.build b/meson.build index b989c664b1..c746776208 100644 --- a/meson.build +++ b/meson.build @@ -782,17 +782,21 @@ substs.set('DEBUGTTY', get_option('debug-tty')) enable_debug_hashmap = false enable_debug_mmap_cache = false +enable_debug_udev = false foreach name : get_option('debug-extra') if name == 'hashmap' enable_debug_hashmap = true elif name == 'mmap-cache' enable_debug_mmap_cache = true + elif name == 'udev' + enable_debug_udev = true else message('unknown debug option "@0@", ignoring'.format(name)) endif endforeach conf.set10('ENABLE_DEBUG_HASHMAP', enable_debug_hashmap) conf.set10('ENABLE_DEBUG_MMAP_CACHE', enable_debug_mmap_cache) +conf.set10('ENABLE_DEBUG_UDEV', enable_debug_udev) conf.set10('VALGRIND', get_option('valgrind')) conf.set10('LOG_TRACE', get_option('log-trace')) @@ -3128,6 +3132,7 @@ foreach tuple : [ ['gshadow'], ['debug hashmap'], ['debug mmap cache'], + ['debug udev'], ['valgrind', conf.get('VALGRIND') == 1], ['trace logging', conf.get('LOG_TRACE') == 1], ['link-udev-shared', get_option('link-udev-shared')], diff --git a/meson_options.txt b/meson_options.txt index b5a20fb0e2..0e99682014 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh', description : 'path to debug shell binary') option('debug-tty', type : 'string', value : '/dev/tty9', description : 'specify the tty device for debug shell') -option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [], +option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache', 'udev'], value : [], description : 'enable extra debugging') option('memory-accounting-default', type : 'boolean', description : 'enable MemoryAccounting= by default') diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index c3d492a999..23519daca6 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -221,7 +221,7 @@ struct rule_tmp { unsigned token_cur; }; -#ifdef DEBUG +#if ENABLE_DEBUG_UDEV static const char *operation_str(enum operation_type type) { static const char *operation_strs[] = { [OP_UNSET] = "UNSET", @@ -442,7 +442,7 @@ static void dump_rules(struct udev_rules *rules) { #else static inline void dump_token(struct udev_rules *rules, struct token *token) {} static inline void dump_rules(struct udev_rules *rules) {} -#endif /* DEBUG */ +#endif /* ENABLE_DEBUG_UDEV */ static int add_token(struct udev_rules *rules, struct token *token) { /* grow buffer if needed */