summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Warner <james.warner@comcast.net>2021-10-14 00:00:00 -0500
committerCraig Small <csmall@dropbear.xyz>2021-10-18 17:38:43 +1100
commitbe1ddc275623b6cf16060d8a0fa1fb36f677010a (patch)
treecc1f8fd052dba70f627690782d2d192f667c0f4a
parent5d0987548899828b8ca658cba3cedb1197ef540b (diff)
downloadprocps-ng-be1ddc275623b6cf16060d8a0fa1fb36f677010a.tar.gz
library: created a valgrind 'warning-suppression' file
Signed-off-by: Jim Warner <james.warner@comcast.net>
-rw-r--r--Documentation/libproc.supp46
-rw-r--r--Makefile.am3
2 files changed, 48 insertions, 1 deletions
diff --git a/Documentation/libproc.supp b/Documentation/libproc.supp
new file mode 100644
index 0000000..346f7cb
--- /dev/null
+++ b/Documentation/libproc.supp
@@ -0,0 +1,46 @@
+#
+# This is a warning-suppression file for valgrind supplied by libproc
+# to be used with the option: --suppressions=<path-for>/libproc.supp.
+#
+# Memory leak warnings will only be encountered when a multi-threaded
+# program has used the 'procps_pids' interface. That is because this
+# library employs heap based memory in a thread safe manner. However,
+# such memory will not be freed until the address space is reclaimed.
+#
+# When a sibling thread using this 'procps_pids' API ends, or if some
+# other thread in that address space calls 'pthread_cancel()' on such
+# a thread, valgrind may warn that some memory was 'definitely lost'.
+#
+# Any such warnings are dependent on the 'pids_item' enumerators that
+# have been specified using 'procps_pids_new' or 'procps_pids_reset'.
+#
+# A single-threaded application should not experience these warnings.
+#
+
+## for most of the 'definitely lost' warnings,
+## up to 4 blocks ranging from 1024 to 2048 bytes each
+{
+ HEAP_BASED_TLS_file2str
+ Memcheck:Leak
+ ...
+ fun:file2str
+}
+
+## for the remaining 'definitely lost' warnings,
+## a block for each active lxc container, 16 bytes + sizeof name
+{
+ HEAP_BASED_TLS_lxc
+ Memcheck:Leak
+ ...
+ fun:lxc_containers
+}
+
+## in case an installed library has been stripped,
+## this embraces both of the above warning categories
+{
+ HEAP_BASED_TLS_library
+ Memcheck:Leak
+ ...
+ obj:/usr/*lib*/libproc*
+ obj:/usr/local/*lib*/libproc*
+}
diff --git a/Makefile.am b/Makefile.am
index 2c40973..a0affc0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -113,7 +113,8 @@ endif
procpsngdir = $(docdir)
dist_procpsng_DATA = \
Documentation/bugs.md \
- Documentation/FAQ
+ Documentation/FAQ \
+ Documentation/libproc.supp
if BUILD_PIDOF
if !CYGWIN