From: Lennart Poettering Date: Mon, 23 Jan 2012 20:56:55 +0000 (+0100) Subject: util: use /dev/rtc symlink if possible before we go searching for a suitable device X-Git-Tag: v39~11 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c697168102cb64c5cb65a542959684014da99c7;p=systemd util: use /dev/rtc symlink if possible before we go searching for a suitable device --- diff --git a/TODO b/TODO index 3b4d45fb..f2e47e4b 100644 --- a/TODO +++ b/TODO @@ -113,7 +113,7 @@ Features: * readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd" -* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1) +* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1), and add ReloadSignal= then to use in combination * support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1) diff --git a/src/util.c b/src/util.c index 1babb6ae..c9ad831c 100644 --- a/src/util.c +++ b/src/util.c @@ -5235,8 +5235,14 @@ int rtc_open(int flags) { int fd; DIR *d; - /* We open the first RTC which has hctosys=1 set. If we don't - * find any we just take the first one */ + /* First, we try to make use of the /dev/rtc symlink. If that + * doesn't exist, we open the first RTC which has hctosys=1 + * set. If we don't find any we just take the first RTC that + * exists at all. */ + + fd = open("/dev/rtc", flags); + if (fd >= 0) + return fd; d = opendir("/sys/class/rtc"); if (!d)