]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/signal-util.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 Copyright 2010-2015 Lennart Poettering
12 int reset_all_signal_handlers(void);
13 int reset_signal_mask(void);
15 int ignore_signals(int sig
, ...);
16 int default_signals(int sig
, ...);
17 int sigaction_many(const struct sigaction
*sa
, ...);
19 int sigset_add_many(sigset_t
*ss
, ...);
20 int sigprocmask_many(int how
, sigset_t
*old
, ...);
22 const char *signal_to_string(int i
) _const_
;
23 int signal_from_string(const char *s
) _pure_
;
25 void nop_signal_handler(int sig
);
27 static inline void block_signals_reset(sigset_t
*ss
) {
28 assert_se(sigprocmask(SIG_SETMASK
, ss
, NULL
) >= 0);
31 #define BLOCK_SIGNALS(...) \
32 _cleanup_(block_signals_reset) _unused_ sigset_t _saved_sigset = ({ \
34 assert_se(sigprocmask_many(SIG_BLOCK, &_t, __VA_ARGS__, -1) >= 0); \
38 static inline bool SIGNAL_VALID(int signo
) {
39 return signo
> 0 && signo
< _NSIG
;
42 static inline const char* signal_to_string_with_check(int n
) {
46 return signal_to_string(n
);