chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
config_parse_set_status: put signals in the correct set
[elogind.git]
/
src
/
core
/
timer.c
diff --git
a/src/core/timer.c
b/src/core/timer.c
index fc474f78ea1a01345ac4c41e4b7bfdb63656717e..45744c7de57f64ac685c8d9d7d5fecac6039bef4 100644
(file)
--- a/
src/core/timer.c
+++ b/
src/core/timer.c
@@
-147,10
+147,8
@@
static int timer_setup_persistent(Timer *t) {
_cleanup_free_ char *h = NULL;
r = get_home_dir(&h);
_cleanup_free_ char *h = NULL;
r = get_home_dir(&h);
- if (r < 0) {
- log_error_errno(r, "Failed to determine home directory: %m");
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to determine home directory: %m");
t->stamp_path = strjoin(h, "/.local/share/systemd/timers/stamp-", UNIT(t)->id, NULL);
}
t->stamp_path = strjoin(h, "/.local/share/systemd/timers/stamp-", UNIT(t)->id, NULL);
}
@@
-507,7
+505,7
@@
static void timer_enter_running(Timer *t) {
dual_timestamp_get(&t->last_trigger);
if (t->stamp_path)
dual_timestamp_get(&t->last_trigger);
if (t->stamp_path)
- touch_file(t->stamp_path, true, t->last_trigger.realtime,
(uid_t) -1, (gid_t) -1
, 0);
+ touch_file(t->stamp_path, true, t->last_trigger.realtime,
UID_INVALID, GID_INVALID
, 0);
timer_set_state(t, TIMER_RUNNING);
return;
timer_set_state(t, TIMER_RUNNING);
return;
@@
-545,12
+543,12
@@
static int timer_start(Unit *u) {
/* The timer has never run before,
* make sure a stamp file exists.
*/
/* The timer has never run before,
* make sure a stamp file exists.
*/
- touch_file(t->stamp_path, true,
(usec_t) -1, (uid_t) -1, (gid_t) -1
, 0);
+ touch_file(t->stamp_path, true,
USEC_INFINITY, UID_INVALID, GID_INVALID
, 0);
}
t->result = TIMER_SUCCESS;
timer_enter_waiting(t, true);
}
t->result = TIMER_SUCCESS;
timer_enter_waiting(t, true);
- return
0
;
+ return
1
;
}
static int timer_stop(Unit *u) {
}
static int timer_stop(Unit *u) {
@@
-560,7
+558,7
@@
static int timer_stop(Unit *u) {
assert(t->state == TIMER_WAITING || t->state == TIMER_RUNNING || t->state == TIMER_ELAPSED);
timer_enter_dead(t, TIMER_SUCCESS);
assert(t->state == TIMER_WAITING || t->state == TIMER_RUNNING || t->state == TIMER_ELAPSED);
timer_enter_dead(t, TIMER_SUCCESS);
- return
0
;
+ return
1
;
}
static int timer_serialize(Unit *u, FILE *f, FDSet *fds) {
}
static int timer_serialize(Unit *u, FILE *f, FDSet *fds) {
@@
-750,6
+748,7
@@
const UnitVTable timer_vtable = {
"Unit\0"
"Timer\0"
"Install\0",
"Unit\0"
"Timer\0"
"Install\0",
+ .private_section = "Timer",
.init = timer_init,
.done = timer_done,
.init = timer_init,
.done = timer_done,
@@
-775,4
+774,7
@@
const UnitVTable timer_vtable = {
.bus_interface = "org.freedesktop.systemd1.Timer",
.bus_vtable = bus_timer_vtable,
.bus_interface = "org.freedesktop.systemd1.Timer",
.bus_vtable = bus_timer_vtable,
+ .bus_set_property = bus_timer_set_property,
+
+ .can_transient = true,
};
};