bool has_bg;
} bg_category_cb_info_t;
-void _release_alarm_info_t();
+void _release_alarm_info_t(__alarm_info_t *entry);
void _alarm_set_next_duetime(__alarm_info_t *alarm_info);
void _alarm_schedule();
if (signal_name && strcmp(signal_name, "NameOwnerChanged") == 0) {
g_variant_get(parameters, "(&sss)", &service_name, NULL, NULL);
- for (entry = g_expired_alarm_list; entry; entry = entry->next) {
- if (entry->data) {
- expire_info = (__expired_alarm_t *) entry->data;
+ for (entry = g_expired_alarm_list; entry;) {
+ expire_info = (__expired_alarm_t *) entry->data;
+ entry = entry->next;
+
+ if (expire_info) {
SECURE_LOGD("expired service(%s), owner changed service(%s)",
expire_info->service_name, service_name);
0,
expire_info->uid);
g_expired_alarm_list =
- g_slist_remove(g_expired_alarm_list, entry->data);
+ g_slist_remove(g_expired_alarm_list, (gpointer)expire_info);
g_free(expire_info);
}
}
time(¤t_time);
- for (iter = alarm_context.alarms; iter != NULL;
- iter = g_slist_next(iter)) {
+ for (iter = alarm_context.alarms; iter != NULL;) {
entry = (__alarm_info_t *)iter->data;
due_time = entry->due_time;
-
double interval = 0;
+ iter = g_slist_next(iter);
SECURE_LOGD("alarm[%d] with duetime(%ld) at current(%ld) - (%s) z:%d",
entry->alarm_id, due_time, current_time,
entry->app_unique_name, (int)entry->zombie_mode);
_save_alarm_info_log("AUTO_DELETE", entry);
- alarm_context.alarms = g_slist_remove(alarm_context.alarms, iter->data);
+ alarm_context.alarms = g_slist_remove(alarm_context.alarms, (gpointer)entry);
_release_alarm_info_t(entry);
continue;
} else {
time(¤t_time);
- for (iter = alarm_context.alarms; iter != NULL; iter = g_slist_next(iter)) {
+ for (iter = alarm_context.alarms; iter != NULL;) {
entry = (__alarm_info_t *)iter->data;
due_time = entry->due_time;
double interval = 0;
-
+ iter = g_slist_next(iter);
LOGD("alarm[%d] with duetime(%ld) at current(%ld)", entry->alarm_id, due_time, current_time);
if (due_time == 0) { /* 0 means this alarm has been disabled */
continue;
_save_alarm_info_log("AUTO_DELETE", entry);
- alarm_context.alarms = g_slist_remove(alarm_context.alarms, iter->data);
+ alarm_context.alarms = g_slist_remove(alarm_context.alarms, (gpointer)entry);
_release_alarm_info_t(entry);
continue;
} else {