Sfoglia il codice sorgente

core: check if status with filter is implemented by memory manager

Daniel-Constantin Mierla 1 anno fa
parent
commit
0f4058a7ff
2 ha cambiato i file con 16 aggiunte e 4 eliminazioni
  1. 8 2
      src/core/mem/pkg.h
  2. 8 2
      src/core/mem/shm.h

+ 8 - 2
src/core/mem/pkg.h

@@ -65,8 +65,14 @@ void pkg_print_manager(void);
 #endif
 
 #define pkg_status() _pkg_root.xstatus(_pkg_root.mem_block)
-#define pkg_status_filter(fmatch, fp) \
-	_pkg_root.xstatus_filter(_pkg_root.mem_block, fmatch, fp)
+#define pkg_status_filter(fmatch, fp)                                  \
+	do {                                                               \
+		if(_pkg_root.xstatus_filter) {                                 \
+			_pkg_root.xstatus_filter(_pkg_root.mem_block, fmatch, fp); \
+		} else {                                                       \
+			LM_ERR("pkg status with filter not implemented\n");        \
+		}                                                              \
+		while(0)
 #define pkg_info(mi) _pkg_root.xinfo(_pkg_root.mem_block, mi)
 #define pkg_report(mr) _pkg_root.xreport(_pkg_root.mem_block, mr)
 #define pkg_available() _pkg_root.xavailable(_pkg_root.mem_block)

+ 8 - 2
src/core/mem/shm.h

@@ -87,8 +87,14 @@ extern sr_shm_api_t _shm_root;
 #endif
 
 #define shm_status() _shm_root.xstatus(_shm_root.mem_block)
-#define shm_status_filter(fmatch, fp) \
-	_shm_root.xstatus_filter(_shm_root.mem_block, fmatch, fp)
+#define shm_status_filter(fmatch, fp)                                  \
+	do {                                                               \
+		if(_shm_root.xstatus_filter) {                                 \
+			_shm_root.xstatus_filter(_shm_root.mem_block, fmatch, fp); \
+		} else {                                                       \
+			LM_ERR("shm status with filter not implemented\n");        \
+		}                                                              \
+		while(0)
 #define shm_info(mi) _shm_root.xinfo(_shm_root.mem_block, mi)
 #define shm_report(mr) _shm_root.xreport(_shm_root.mem_block, mr)
 #define shm_available() _shm_root.xavailable(_shm_root.mem_block)