assert(s);
- return !s->got_socket_fd;
+ return (s->socket_fd < 0);
}
static int service_retry_pid_file(Service *s) {
s->state == SERVICE_RUNNING ||
s->state == SERVICE_RELOAD)) {
+ _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
pid_t pid;
/* Try to acquire PID from bus service */
- r = sd_bus_get_owner_pid(u->manager->api_bus, name, &pid);
+ r = sd_bus_get_owner(u->manager->api_bus, name, SD_BUS_CREDS_PID, &creds);
+ if (r >= 0)
+ r = sd_bus_creds_get_pid(creds, &pid);
if (r >= 0) {
log_debug_unit(u->id, "%s's D-Bus name %s is now owned by process %u", u->id, name, (unsigned) pid);
return -EAGAIN;
s->socket_fd = fd;
- s->got_socket_fd = true;
unit_ref_set(&s->accept_socket, UNIT(sock));