X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fservice.c;h=28b1465c19918f331969b0f13449bf76f83371a4;hb=d420282b28f50720e233ccb1c02547c562195653;hp=e408338b10de04adca84fe22b1e4069cc5274256;hpb=92c1622e14dd99890928b1a1596e4a670b31a7ff;p=elogind.git diff --git a/src/core/service.c b/src/core/service.c index e408338b1..28b1465c1 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -2916,7 +2916,12 @@ static int service_demand_pid_file(Service *s) { } static int service_dispatch_io(sd_event_source *source, int fd, uint32_t events, void *userdata) { - Service *s = SERVICE(userdata); + PathSpec *p = userdata; + Service *s; + + assert(p); + + s = SERVICE(p->unit); assert(s); assert(fd >= 0); @@ -2926,7 +2931,7 @@ static int service_dispatch_io(sd_event_source *source, int fd, uint32_t events, log_debug_unit(UNIT(s)->id, "inotify event for %s", UNIT(s)->id); - if (path_spec_fd_event(s->pid_file_pathspec, events) < 0) + if (path_spec_fd_event(p, events) < 0) goto fail; if (service_retry_pid_file(s) == 0)