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