summaryrefslogtreecommitdiff
path: root/src/basic/sigbus.c
diff options
context:
space:
mode:
authorDaniel <dkozovsk@redhat.com>2018-07-26 15:39:12 +0200
committerDaniel <dkozovsk@redhat.com>2018-07-26 15:39:12 +0200
commit1595b257df98b361d178b3ce3e4ca5ac463be0cd (patch)
tree598a07f095208ccad3c233debcc6f7f7eef85ca4 /src/basic/sigbus.c
parent14a6aee05092147a42611c9f2b57cfda36547049 (diff)
downloadsystemd-1595b257df98b361d178b3ce3e4ca5ac463be0cd.tar.gz
void call of page_size guarantees that sysconf is not called from signal handler
Diffstat (limited to 'src/basic/sigbus.c')
-rw-r--r--src/basic/sigbus.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/basic/sigbus.c b/src/basic/sigbus.c
index 70afba6bcf..d5254eab9d 100644
--- a/src/basic/sigbus.c
+++ b/src/basic/sigbus.c
@@ -113,6 +113,10 @@ void sigbus_install(void) {
.sa_flags = SA_SIGINFO,
};
+ /* make sure that sysconf() is not called from a signal handler because
+ * it is not guaranteed to be async-signal-safe since POSIX.1-2008 */
+ (void) page_size();
+
n_installed++;
if (n_installed == 1)