]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#771] Added doc and configure warning
authorFrancis Dupont <fdupont@isc.org>
Thu, 9 Jul 2020 08:00:16 +0000 (10:00 +0200)
committerFrancis Dupont <fdupont@isc.org>
Thu, 9 Jul 2020 08:02:03 +0000 (10:02 +0200)
configure.ac
doc/sphinx/arm/hooks.rst

index 87ea3b13ad0d3fc66204e9636d9ff586c027d937..a6b9123785b3acb8e8d4112fc92e5b1996d55602 100755 (executable)
@@ -284,6 +284,7 @@ KEA_CXXFLAGS="$KEA_CXXFLAGS $MULTITHREADING_FLAG"
 dumpmachine=`$CXX -dumpmachine`
 case "$dumpmachine" in
 *-musl)
+        AC_MSG_WARN("Detected musl libc: musl dlclose() is a noop")
         AC_DEFINE([LIBC_MUSL], [1], [Define to 1 if libc is musl])
         ;;
 esac
index 1f56e7252c555a95f10c015d70aad8abfdd0c752..36b3d89bb5e6b9277ba28e4ed266d4dca5183afa 100644 (file)
@@ -33,6 +33,15 @@ order in which the libraries are specified in the configuration file.
 The order may be important; consult the documentation of the libraries
 for specifics.
 
+When a Kea process unloads a library, it expects the ``dlclose`` function
+removes all library symbols and removes the library code from address space
+on the last reference. This behavior is not required by the POSIX standard
+and at least the musl library used by default by Alpine Linux implements
+the ``dlclose`` function has a no operation. On such systems a library
+is loaded for ever in a process, for instance it is not possible to
+replace a library binary by another version using configuration change
+or reload: the process must be stopped and relaunched.
+
 The next section describes how to configure hooks libraries. Users who are
 interested in writing their own hooks library can find information
 in the `Hooks Developer's Guide section of the Kea Developer's