chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implement proper logging for services
[elogind.git]
/
util.c
diff --git
a/util.c
b/util.c
index 56f53eafd66caf1872c5e4d9954bb1a84c0177a3..654b93d79c084ceb25b944aa3e62a1112204303a 100644
(file)
--- a/
util.c
+++ b/
util.c
@@
-97,6
+97,14
@@
int close_nointr(int fd) {
}
}
}
}
+void close_nointr_nofail(int fd) {
+
+ /* like close_nointr() but cannot fail, and guarantees errno
+ * is unchanged */
+
+ assert_se(close_nointr(fd) == 0);
+}
+
int parse_boolean(const char *v) {
assert(v);
int parse_boolean(const char *v) {
assert(v);
@@
-480,6
+488,7
@@
int reset_all_signal_handlers(void) {
zero(sa);
sa.sa_handler = SIG_DFL;
zero(sa);
sa.sa_handler = SIG_DFL;
+ sa.sa_flags = SA_RESTART;
/* On Linux the first two RT signals are reserved by
* glibc, and sigaction() will return EINVAL for them. */
/* On Linux the first two RT signals are reserved by
* glibc, and sigaction() will return EINVAL for them. */