diff --git a/macros.h b/macros.h index a4ce536..c9a7ca1 100644 --- a/macros.h +++ b/macros.h @@ -58,7 +58,7 @@ static void __attribute__ ((unused)) __clang_cleanup_func(void (^*dfunc) (void)) #define _DEFER(a, count) \ auto void _STRMERGE(__defer_f_, count)(void* _defer_arg __attribute__((unused))); \ int _STRMERGE(__defer_var_, count) __attribute__((cleanup(_STRMERGE(__defer_f_, count)))) \ - __attribute__((unused)); \ + __attribute__((unused)); \ void _STRMERGE(__defer_f_, count)(void* _defer_arg __attribute__((unused))) #define defer _DEFER(a, __COUNTER__) #endif diff --git a/subproc.cc b/subproc.cc index 7a1e361..69442c3 100644 --- a/subproc.cc +++ b/subproc.cc @@ -98,6 +98,14 @@ static const std::string cloneFlagsToStr(uint64_t flags) { NS_VALSTR_STRUCT(CLONE_NEWPID), NS_VALSTR_STRUCT(CLONE_NEWNET), NS_VALSTR_STRUCT(CLONE_IO), +#if !defined(CLONE_CLEAR_SIGHAND) +#define CLONE_CLEAR_SIGHAND 0x100000000ULL +#endif /* !defined(CLONE_CLEAR_SIGHAND) */ + NS_VALSTR_STRUCT(CLONE_CLEAR_SIGHAND), +#if !defined(CLONE_INTO_CGROUP) +#define CLONE_INTO_CGROUP 0x200000000ULL +#endif /* !defined(CLONE_INTO_CGROUP) */ + NS_VALSTR_STRUCT(CLONE_INTO_CGROUP), }; uint64_t knownFlagMask = 0;