summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/util.c b/src/util.c
index 1babb6aed4..c9ad831c6c 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)