[systemd-devel] [PATCH] timer: name the stamp file consistently

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Thu Jun 26 04:23:32 PDT 2014


On Thu, Jun 26, 2014 at 10:16:27AM +0200, Michał Bartoszkiewicz wrote:
> The stamp file for systemd --user timers was named stamp-foo.timer if
> XDG_DATA_HOME was unset, but foo.timer otherwise.
> ---
>  src/core/timer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/core/timer.c b/src/core/timer.c
> index 6f2deda..e69dfbd 100644
> --- a/src/core/timer.c
> +++ b/src/core/timer.c
> @@ -131,7 +131,7 @@ static int timer_setup_persistent(Timer *t) {
>  
>                  e = getenv("XDG_DATA_HOME");
>                  if (e)
> -                        t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL);
> +                        t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL);
>                  else {
>  
>                          _cleanup_free_ char *h = NULL;

Yeah, consistency is good, and this fixes a problem where one defines
an XDG_DATA_HOME which points at the same place as the default and
then the timers fire prematurely.

Nevertheless, after this patch some timers stored in XDG_DATA_HOME
will fire prematurely too. I applied the patch because I think that
persistent user session timers are still a rare thing. (A packaging
script could also modify the filenames on update, in principle,
if someone cares enough.)

Zbyszek


More information about the systemd-devel mailing list