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

Commit 6cefe2c6 authored by Andre Eisenbach's avatar Andre Eisenbach
Browse files

Cleanup alarm_get_remaining_ms

This function is used for PM sniff mode timers - at least until we can
re-factor those not to rely on this function.

Bug: 22040710
Change-Id: Ibe6f49440228732b2bd8242db4a44e481b00b62e
parent b1d1b4d9
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -53,8 +53,9 @@ void alarm_set_periodic(alarm_t *alarm, period_ms_t period, alarm_callback_t cb,
void alarm_cancel(alarm_t *alarm);

// Figure out how much time until next expiration.
// Returns 0 if not armed.
period_ms_t alarm_get_remaining_ms(alarm_t *alarm);
// Returns 0 if not armed. |alarm| may not be NULL.
// TODO: Remove this function once PM timers can be re-factored
period_ms_t alarm_get_remaining_ms(const alarm_t *alarm);

// Alarm-related state cleanup
void alarm_cleanup(void);
+8 −3
Original line number Diff line number Diff line
@@ -127,11 +127,16 @@ void alarm_free(alarm_t *alarm) {
  osi_free(alarm);
}

period_ms_t alarm_get_remaining_ms(alarm_t *alarm) {
period_ms_t alarm_get_remaining_ms(const alarm_t *alarm) {
  assert(alarm != NULL);
  period_ms_t remaining_ms = 0;

  pthread_mutex_lock(&monitor);
  if (alarm->deadline)
    return (alarm->deadline - now());
  return 0;
    remaining_ms = alarm->deadline - now();
  pthread_mutex_unlock(&monitor);

  return remaining_ms;
}

void alarm_set(alarm_t *alarm, period_ms_t deadline, alarm_callback_t cb, void *data) {