X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftimesync%2Ftimesyncd.c;h=2a73dac033c8fe1570febd1ac2fb16a3e1fdb26c;hb=687f6a0ba77872299b9fb1f2f04d31c977088a63;hp=ed02e6db3a041a2107c85665a15e0ba9c8b00a3f;hpb=da927ba997d68401563b927f92e6e40e021a8e5c;p=elogind.git diff --git a/src/timesync/timesyncd.c b/src/timesync/timesyncd.c index ed02e6db3..2a73dac03 100644 --- a/src/timesync/timesyncd.c +++ b/src/timesync/timesyncd.c @@ -73,7 +73,7 @@ static int load_clock_timestamp(uid_t uid, gid_t gid) { format_timestamp(date, sizeof(date), min)); if (clock_settime(CLOCK_REALTIME, timespec_store(&ts, min)) < 0) - log_error("Failed to restore system clock: %m"); + log_error_errno(errno, "Failed to restore system clock: %m"); } return 0; @@ -113,6 +113,10 @@ int main(int argc, char *argv[]) { if (r < 0) goto finish; + /* We need one process for ourselves, plus one thread for the asynchronous resolver */ + if (setrlimit(RLIMIT_NPROC, &RLIMIT_MAKE_CONST(2)) < 0) + log_warning_errno(errno, "Failed to lower RLIMIT_NPROC to 2: %m"); + assert_se(sigprocmask_many(SIG_BLOCK, SIGTERM, SIGINT, -1) == 0); r = manager_new(&m);