Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 724576a4 authored by Keith Mok's avatar Keith Mok
Browse files

Alarm: Support devices using timerfd without CLOCK_POWEROFF_ALARM

timerfd CLOCK_POWEROFF_ALARM is patch from qcom for power off alarm
support in qcom devices. Some old devices or non-qcom devices
does not support CLOCK_POWEROFF_ALARM in timerfd that results in
init_timerfd function fails.

Use fallback mechanism if devices does not support CLOCK_POWEROFF_ALARM
in timerfd use CLOCK_REALTIME instead.

SAMBAR-1287

Change-Id: I166f2a3cea21cd6dc67a520e268315076dc4356a
(cherry picked from commit 9028e659)
parent bc1ba072
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -424,6 +424,10 @@ static jlong init_timerfd()

    for (size_t i = 0; i < N_ANDROID_TIMERFDS; i++) {
        fds[i] = timerfd_create(android_alarm_to_clockid[i], 0);
        if ((fds[i] < 0) && (android_alarm_to_clockid[i] == CLOCK_POWEROFF_ALARM)) {
            ALOGV("timerfd does not support CLOCK_POWEROFF_ALARM, using CLOCK_REALTIME_ALARM instead");
            fds[i] = timerfd_create(CLOCK_REALTIME_ALARM, 0);
        }
        if (fds[i] < 0) {
            ALOGV("timerfd_create(%u) failed: %s",  android_alarm_to_clockid[i],
                    strerror(errno));