diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-11-19 20:47:46 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-11-19 21:14:34 +0100 |
commit | 8a4fdaf2921db52e46b800b6540f8e99853b556f (patch) | |
tree | 734c6724fb9a78c71e4ad796c37ff791cb2c28bf | |
parent | 67e16c31e9c797e722b1a5ee427512eb8a974a4b (diff) | |
download | systemd-8a4fdaf2921db52e46b800b6540f8e99853b556f.tar.gz |
main-func: automatically call static destructors from main-func.h macros
-rw-r--r-- | src/basic/main-func.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/basic/main-func.h b/src/basic/main-func.h index 9ebe0ab882..caa5885e8b 100644 --- a/src/basic/main-func.h +++ b/src/basic/main-func.h @@ -3,12 +3,15 @@ #include <stdlib.h> +#include "static-destruct.h" + /* Negative return values from impl are mapped to EXIT_FAILURE, and * everything else means success! */ #define DEFINE_MAIN_FUNCTION(impl) \ int main(int argc, char *argv[]) { \ int r; \ r = impl(argc, argv); \ + static_destruct(); \ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; \ } @@ -19,5 +22,6 @@ int main(int argc, char *argv[]) { \ int r; \ r = impl(argc, argv); \ + static_destruct(); \ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; \ } |