chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
basic: mark unused variable as such
[elogind.git]
/
src
/
basic
/
signal-util.h
diff --git
a/src/basic/signal-util.h
b/src/basic/signal-util.h
index 59261250444ce7f20a820517e0db193b3b74ae69..cbdb6ce33aac06b5bd58928f2052208079f3e423 100644
(file)
--- a/
src/basic/signal-util.h
+++ b/
src/basic/signal-util.h
@@
-1,5
+1,3
@@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
#pragma once
/***
#pragma once
/***
@@
-29,8
+27,10
@@
int reset_all_signal_handlers(void);
int reset_signal_mask(void);
int ignore_signals(int sig, ...);
int reset_signal_mask(void);
int ignore_signals(int sig, ...);
-// UNNEEDED int default_signals(int sig, ...);
-// UNNEEDED int sigaction_many(const struct sigaction *sa, ...);
+#if 0 /// UNNEEDED by elogind
+int default_signals(int sig, ...);
+int sigaction_many(const struct sigaction *sa, ...);
+#endif // 0
int sigset_add_many(sigset_t *ss, ...);
int sigprocmask_many(int how, sigset_t *old, ...);
int sigset_add_many(sigset_t *ss, ...);
int sigprocmask_many(int how, sigset_t *old, ...);
@@
-39,5
+39,18
@@
const char *signal_to_string(int i) _const_;
int signal_from_string(const char *s) _pure_;
int signal_from_string_try_harder(const char *s);
int signal_from_string(const char *s) _pure_;
int signal_from_string_try_harder(const char *s);
+#if 0 /// UNNEEDED by elogind
+
+void nop_signal_handler(int sig);
+#endif // 0
+
+static inline void block_signals_reset(sigset_t *ss) {
+ assert_se(sigprocmask(SIG_SETMASK, ss, NULL) >= 0);
+}
-// UNNEEDED void nop_signal_handler(int sig);
+#define BLOCK_SIGNALS(...) \
+ _cleanup_(block_signals_reset) _unused_ sigset_t _saved_sigset = ({ \
+ sigset_t t; \
+ assert_se(sigprocmask_many(SIG_BLOCK, &t, __VA_ARGS__, -1) >= 0); \
+ t; \
+ })