chiark / gitweb /
util: use /dev/rtc symlink if possible before we go searching for a suitable device
[elogind.git] / src / util.c
index 1babb6aed457060ed11f0e79636a29ffc4da8d84..c9ad831c6ca95fbad570f2640f919dcf2a0e4ebf 100644 (file)
@@ -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)