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

Commit c093841b authored by Alistair Strachan's avatar Alistair Strachan Committed by android-build-merger
Browse files

Merge "Fall back to CLOCK_BOOTTIME if CLOCK_BOOTTIME_ALARM fails"

am: f812c154

Change-Id: I831f7c3f113b807e4ba73169d3ad00d2770e02b8
parents 5cd06bb6 f812c154
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -114,12 +114,6 @@ struct alarm_t {
int64_t TIMER_INTERVAL_FOR_WAKELOCK_IN_MS = 3000;
static const clockid_t CLOCK_ID = CLOCK_BOOTTIME;

#if (KERNEL_MISSING_CLOCK_BOOTTIME_ALARM == TRUE)
static const clockid_t CLOCK_ID_ALARM = CLOCK_BOOTTIME;
#else
static const clockid_t CLOCK_ID_ALARM = CLOCK_BOOTTIME_ALARM;
#endif

// This mutex ensures that the |alarm_set|, |alarm_cancel|, and alarm callback
// functions execute serially and not concurrently. As a result, this mutex
// also protects the |alarms| list.
@@ -327,7 +321,11 @@ static bool lazy_initialize(void) {
  if (!timer_create_internal(CLOCK_ID, &timer)) goto error;
  timer_initialized = true;

  if (!timer_create_internal(CLOCK_ID_ALARM, &wakeup_timer)) goto error;
  if (!timer_create_internal(CLOCK_BOOTTIME_ALARM, &wakeup_timer)) {
    if (!timer_create_internal(CLOCK_BOOTTIME, &wakeup_timer)) {
      goto error;
    }
  }
  wakeup_timer_initialized = true;

  alarm_expired = semaphore_new(0);