Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #28 from plundstr/master
restart dsme always
  • Loading branch information
Pekka Lundstrom committed Oct 10, 2013
2 parents cd90941 + 33b08a4 commit f3cc64d
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 23 deletions.
2 changes: 1 addition & 1 deletion configure.ac
@@ -1,5 +1,5 @@
# Package name and version
AC_INIT(dsme, 0.62.21)
AC_INIT(dsme, 0.62.22)

AM_INIT_AUTOMAKE

Expand Down
37 changes: 19 additions & 18 deletions modules/alarmtracker.c
Expand Up @@ -84,33 +84,34 @@ static void schedule_next_wakeup(void)
static void save_alarm_queue_status(void)
{
if (alarm_state_file_up_to_date) {
dsme_log(LOG_DEBUG, "alarmtracker: alarm_state_file_up_to_date");
return;
}

FILE* f;

if ((f = fopen(ALARM_STATE_FILE_TMP, "w+")) == 0) {
dsme_log_raw(LOG_DEBUG, "%s: %s", ALARM_STATE_FILE, strerror(errno));
dsme_log(LOG_DEBUG, "alarmtracker: %s: %s", ALARM_STATE_FILE, strerror(errno));
} else {
bool temp_file_ok = true;

if (fprintf(f, "%ld\n", alarm_queue_head) < 0) {
dsme_log_raw(LOG_DEBUG, "Error writing %s", ALARM_STATE_FILE_TMP);
dsme_log(LOG_DEBUG, "alarmtracker: Error writing %s", ALARM_STATE_FILE_TMP);
temp_file_ok = false;
}

if (fclose(f) != 0) {
dsme_log_raw(LOG_DEBUG,
"%s: %s",
dsme_log(LOG_DEBUG,
"alarmtracker: %s: %s",
ALARM_STATE_FILE_TMP,
strerror(errno));
temp_file_ok = false;
}

if (temp_file_ok) {
if (rename(ALARM_STATE_FILE_TMP, ALARM_STATE_FILE) != 0) {
dsme_log_raw(LOG_DEBUG,
"Error writing file %s",
dsme_log(LOG_DEBUG,
"alarmtracker: Error writing file %s",
ALARM_STATE_FILE);
} else {
alarm_state_file_up_to_date = true;
Expand All @@ -119,11 +120,11 @@ static void save_alarm_queue_status(void)
}

if (alarm_state_file_up_to_date) {
dsme_log_raw(LOG_DEBUG,
"Alarm queue head saved to file %s",
dsme_log(LOG_DEBUG,
"alarmtracker: Alarm queue head saved to file %s",
ALARM_STATE_FILE);
} else {
dsme_log_raw(LOG_ERR, "Saving alarm queue head failed");
dsme_log(LOG_ERR, "alarmtracker: Saving alarm queue head failed");
/* do not retry to avoid spamming the log */
alarm_state_file_up_to_date = true;
}
Expand All @@ -141,10 +142,10 @@ static void restore_alarm_queue_status(void)
FILE* f;

if ((f = fopen(ALARM_STATE_FILE, "r")) == 0) {
dsme_log(LOG_DEBUG, "%s: %s", ALARM_STATE_FILE, strerror(errno));
dsme_log(LOG_DEBUG, "alarmtracker: %s: %s", ALARM_STATE_FILE, strerror(errno));
} else {
if (fscanf(f, "%ld", &alarm_queue_head) != 1) {
dsme_log(LOG_DEBUG, "Error reading file %s", ALARM_STATE_FILE);
dsme_log(LOG_DEBUG, "alarmtracker: Error reading file %s", ALARM_STATE_FILE);
} else {
alarm_state_file_up_to_date = true;
}
Expand All @@ -153,9 +154,9 @@ static void restore_alarm_queue_status(void)
}

if (alarm_state_file_up_to_date) {
dsme_log(LOG_DEBUG, "Alarm queue head restored: %ld", alarm_queue_head);
dsme_log(LOG_DEBUG, "alarmtracker: Alarm queue head restored: %ld", alarm_queue_head);
} else {
dsme_log(LOG_WARNING, "Restoring alarm queue head failed");
dsme_log(LOG_WARNING, "alarmtracker: Restoring alarm queue head failed");
}
}

Expand Down Expand Up @@ -191,7 +192,7 @@ static int set_internal_alarm_state(void* dummy)
- dsme_snooze_timeout_in_seconds();
alarm_state_transition_timer =
dsme_create_timer(transition, set_internal_alarm_state, 0);
dsme_log(LOG_DEBUG, "next snooze in %d s", transition);
dsme_log(LOG_DEBUG, "alarmtracker: next snooze in %d s", transition);

alarm_set = false;
}
Expand All @@ -208,7 +209,7 @@ static int set_internal_alarm_state(void* dummy)
msg.alarm_set = alarm_set;

dsme_log(LOG_DEBUG,
"broadcasting internal alarm state: %s",
"alarmtracker: broadcasting internal alarm state: %s",
alarm_set ? "set" : "not set");
broadcast_internally(&msg);
}
Expand All @@ -234,7 +235,7 @@ static void set_external_alarm_state(void)
msg.alarm_set = external_state_alarm_set;

dsme_log(LOG_DEBUG,
"broadcasting external alarm state: %s",
"alarmtracker: broadcasting external alarm state: %s",
external_state_alarm_set ? "set" : "not set");
dsmesock_broadcast(&msg);
}
Expand All @@ -256,12 +257,12 @@ static void alarm_queue_status_ind(const DsmeDbusMessage* ind)
{
alarm_queue_head = new_alarm_queue_head;

dsme_log(LOG_DEBUG, "got new alarm: %ld", alarm_queue_head);
dsme_log(LOG_DEBUG, "alarmtracker: got new alarm: %ld", alarm_queue_head);

alarm_state_file_up_to_date = false;
schedule_next_wakeup();
} else {
dsme_log(LOG_DEBUG, "got old alarm: %ld", alarm_queue_head);
dsme_log(LOG_DEBUG, "alarmtracker: got old alarm: %ld", alarm_queue_head);
}

set_alarm_state();
Expand Down
4 changes: 2 additions & 2 deletions rpm/dsme.service
Expand Up @@ -12,8 +12,8 @@ Type=notify
Environment=BOOTSTATE=USER
EnvironmentFile=-/run/systemd/boot-status/bootstate
ExecStart=/usr/sbin/dsme -p /usr/lib/dsme/libstartup.so --systemd
# No restart, we want WD to bite
Restart=no
Restart=always
RestartSec=1

[Install]
WantedBy=multi-user.target
2 changes: 1 addition & 1 deletion rpm/dsme.spec
Expand Up @@ -13,7 +13,7 @@ Name: dsme
# << macros

Summary: Device State Management Entity
Version: 0.62.21
Version: 0.62.22
Release: 0
Group: System/System Control
License: LGPLv2+
Expand Down
2 changes: 1 addition & 1 deletion rpm/dsme.yaml
@@ -1,6 +1,6 @@
Name: dsme
Summary: Device State Management Entity
Version: 0.62.21
Version: 0.62.22
Release: 0
Group: System/System Control
License: LGPLv2+
Expand Down

0 comments on commit f3cc64d

Please sign in to comment.