X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftimesync%2Ftimesyncd.c;h=2a73dac033c8fe1570febd1ac2fb16a3e1fdb26c;hb=749806b389f53f7dd43a2cae1589e63dddf51990;hp=b5a521f6725a28b979a2f80975fb72b138c9e56c;hpb=0a1beeb64207eaa88ab9236787b1cbc2f704ae14;p=elogind.git diff --git a/src/timesync/timesyncd.c b/src/timesync/timesyncd.c index b5a521f67..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; @@ -101,7 +101,7 @@ int main(int argc, char *argv[]) { r = get_user_creds(&user, &uid, &gid, NULL, NULL); if (r < 0) { - log_error_errno(-r, "Cannot resolve user name %s: %m", user); + log_error_errno(r, "Cannot resolve user name %s: %m", user); goto finish; } @@ -113,11 +113,15 @@ 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); if (r < 0) { - log_error_errno(-r, "Failed to allocate manager: %m"); + log_error_errno(r, "Failed to allocate manager: %m"); goto finish; } @@ -129,7 +133,7 @@ int main(int argc, char *argv[]) { r = manager_parse_config_file(m); if (r < 0) - log_warning_errno(-r, "Failed to parse configuration file: %m"); + log_warning_errno(r, "Failed to parse configuration file: %m"); log_debug("systemd-timesyncd running as pid %lu", (unsigned long) getpid()); sd_notify(false, @@ -144,7 +148,7 @@ int main(int argc, char *argv[]) { r = sd_event_loop(m->event); if (r < 0) { - log_error_errno(-r, "Failed to run event loop: %m"); + log_error_errno(r, "Failed to run event loop: %m"); goto finish; }