if (a->pipe_fd < 0)
return;
- a->pipe_event_source = sd_event_source_unref(a->pipe_event_source);
+ a->pipe_event_source = sd_event_source_disable_unref(a->pipe_event_source);
a->pipe_fd = safe_close(a->pipe_fd);
/* If we reload/reexecute things we keep the mount point around */
a->tokens = set_free(a->tokens);
a->expire_tokens = set_free(a->expire_tokens);
- a->expire_event_source = sd_event_source_unref(a->expire_event_source);
+ a->expire_event_source = sd_event_source_disable_unref(a->expire_event_source);
}
static int automount_add_trigger_dependencies(Automount *a) {
}
/* 3. Allocate cgroup empty defer event source */
- m->cgroup_empty_event_source = sd_event_source_unref(m->cgroup_empty_event_source);
+ m->cgroup_empty_event_source = sd_event_source_disable_unref(m->cgroup_empty_event_source);
r = sd_event_add_defer(m->event, &m->cgroup_empty_event_source, on_cgroup_empty_event, m);
if (r < 0)
return log_error_errno(r, "Failed to create cgroup empty event source: %m");
/* In the unified hierarchy we can get cgroup empty notifications via inotify. */
- m->cgroup_inotify_event_source = sd_event_source_unref(m->cgroup_inotify_event_source);
+ m->cgroup_inotify_event_source = sd_event_source_disable_unref(m->cgroup_inotify_event_source);
safe_close(m->cgroup_inotify_fd);
m->cgroup_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC);
if (delete && m->cgroup_root && m->test_run_flags != MANAGER_TEST_RUN_MINIMAL)
(void) cg_trim(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_root, false);
- m->cgroup_empty_event_source = sd_event_source_unref(m->cgroup_empty_event_source);
+ m->cgroup_empty_event_source = sd_event_source_disable_unref(m->cgroup_empty_event_source);
m->cgroup_control_inotify_wd_unit = hashmap_free(m->cgroup_control_inotify_wd_unit);
m->cgroup_memory_inotify_wd_unit = hashmap_free(m->cgroup_memory_inotify_wd_unit);
- m->cgroup_inotify_event_source = sd_event_source_unref(m->cgroup_inotify_event_source);
+ m->cgroup_inotify_event_source = sd_event_source_disable_unref(m->cgroup_inotify_event_source);
m->cgroup_inotify_fd = safe_close(m->cgroup_inotify_fd);
m->pin_cgroupfs_fd = safe_close(m->pin_cgroupfs_fd);
m->private_buses = set_free(m->private_buses);
- m->private_listen_event_source = sd_event_source_unref(m->private_listen_event_source);
+ m->private_listen_event_source = sd_event_source_disable_unref(m->private_listen_event_source);
m->private_listen_fd = safe_close(m->private_listen_fd);
}
j->in_gc_queue = false;
}
- j->timer_event_source = sd_event_source_unref(j->timer_event_source);
+ j->timer_event_source = sd_event_source_disable_unref(j->timer_event_source);
}
Job* job_free(Job *j) {
j->unit->manager->n_running_jobs--;
if (j->unit->manager->n_running_jobs <= 0)
- j->unit->manager->jobs_in_progress_event_source = sd_event_source_unref(j->unit->manager->jobs_in_progress_event_source);
+ j->unit->manager->jobs_in_progress_event_source = sd_event_source_disable_unref(j->unit->manager->jobs_in_progress_event_source);
}
}
if (timeout_time == USEC_INFINITY)
return 0;
- j->timer_event_source = sd_event_source_unref(j->timer_event_source);
+ j->timer_event_source = sd_event_source_disable_unref(j->timer_event_source);
r = sd_event_add_time(
j->manager->event,
static void manager_close_ask_password(Manager *m) {
assert(m);
- m->ask_password_event_source = sd_event_source_unref(m->ask_password_event_source);
+ m->ask_password_event_source = sd_event_source_disable_unref(m->ask_password_event_source);
m->ask_password_inotify_fd = safe_close(m->ask_password_inotify_fd);
m->have_ask_password = -EINVAL;
}
static void manager_close_idle_pipe(Manager *m) {
assert(m);
- m->idle_pipe_event_source = sd_event_source_unref(m->idle_pipe_event_source);
+ m->idle_pipe_event_source = sd_event_source_disable_unref(m->idle_pipe_event_source);
safe_close_pair(m->idle_pipe);
safe_close_pair(m->idle_pipe + 2);
if (MANAGER_IS_TEST_RUN(m))
return 0;
- m->time_change_event_source = sd_event_source_unref(m->time_change_event_source);
+ m->time_change_event_source = sd_event_source_disable_unref(m->time_change_event_source);
m->time_change_fd = safe_close(m->time_change_fd);
m->time_change_fd = time_change_fd();
/* First free all secondary fields */
m->notify_socket = mfree(m->notify_socket);
- m->notify_event_source = sd_event_source_unref(m->notify_event_source);
+ m->notify_event_source = sd_event_source_disable_unref(m->notify_event_source);
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (fd < 0)
_cleanup_close_ int fd = -1;
/* First free all secondary fields */
- m->cgroups_agent_event_source = sd_event_source_unref(m->cgroups_agent_event_source);
+ m->cgroups_agent_event_source = sd_event_source_disable_unref(m->cgroups_agent_event_source);
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
if (fd < 0)
/* Free all secondary fields */
safe_close_pair(m->user_lookup_fds);
- m->user_lookup_event_source = sd_event_source_unref(m->user_lookup_event_source);
+ m->user_lookup_event_source = sd_event_source_disable_unref(m->user_lookup_event_source);
if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, m->user_lookup_fds) < 0)
return log_error_errno(errno, "Failed to allocate user lookup socket: %m");
if (safe_atoi(val, &fd) < 0 || fd < 0 || !fdset_contains(fds, fd))
log_notice("Failed to parse notify fd, ignoring: \"%s\"", val);
else {
- m->notify_event_source = sd_event_source_unref(m->notify_event_source);
+ m->notify_event_source = sd_event_source_disable_unref(m->notify_event_source);
safe_close(m->notify_fd);
m->notify_fd = fdset_remove(fds, fd);
}
if (safe_atoi(val, &fd) < 0 || fd < 0 || !fdset_contains(fds, fd))
log_notice("Failed to parse cgroups agent fd, ignoring.: %s", val);
else {
- m->cgroups_agent_event_source = sd_event_source_unref(m->cgroups_agent_event_source);
+ m->cgroups_agent_event_source = sd_event_source_disable_unref(m->cgroups_agent_event_source);
safe_close(m->cgroups_agent_fd);
m->cgroups_agent_fd = fdset_remove(fds, fd);
}
if (sscanf(val, "%i %i", &fd0, &fd1) != 2 || fd0 < 0 || fd1 < 0 || fd0 == fd1 || !fdset_contains(fds, fd0) || !fdset_contains(fds, fd1))
log_notice("Failed to parse user lookup fd, ignoring: %s", val);
else {
- m->user_lookup_event_source = sd_event_source_unref(m->user_lookup_event_source);
+ m->user_lookup_event_source = sd_event_source_disable_unref(m->user_lookup_event_source);
safe_close_pair(m->user_lookup_fds);
m->user_lookup_fds[0] = fdset_remove(fds, fd0);
m->user_lookup_fds[1] = fdset_remove(fds, fd1);
mount_unwatch_control_pid(m);
- m->timer_event_source = sd_event_source_unref(m->timer_event_source);
+ m->timer_event_source = sd_event_source_disable_unref(m->timer_event_source);
}
static MountParameters* get_mount_parameters_fragment(Mount *m) {
m->state = state;
if (!MOUNT_STATE_WITH_PROCESS(state)) {
- m->timer_event_source = sd_event_source_unref(m->timer_event_source);
+ m->timer_event_source = sd_event_source_disable_unref(m->timer_event_source);
mount_unwatch_control_pid(m);
m->control_command = NULL;
m->control_command_id = _MOUNT_EXEC_COMMAND_INVALID;
static void mount_shutdown(Manager *m) {
assert(m);
- m->mount_event_source = sd_event_source_unref(m->mount_event_source);
+ m->mount_event_source = sd_event_source_disable_unref(m->mount_event_source);
mnt_unref_monitor(m->mount_monitor);
m->mount_monitor = NULL;
fail:
log_unit_warning_errno(u, r, "Failed to initiate cleaning: %m");
m->clean_result = MOUNT_FAILURE_RESOURCES;
- m->timer_event_source = sd_event_source_unref(m->timer_event_source);
+ m->timer_event_source = sd_event_source_disable_unref(m->timer_event_source);
return r;
}
void path_spec_unwatch(PathSpec *s) {
assert(s);
- s->event_source = sd_event_source_unref(s->event_source);
+ s->event_source = sd_event_source_disable_unref(s->event_source);
s->inotify_fd = safe_close(s->inotify_fd);
}
s->controller = mfree(s->controller);
s->controller_track = sd_bus_track_unref(s->controller_track);
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
}
static int scope_arm_timer(Scope *s, usec_t usec) {
s->state = state;
if (!IN_SET(state, SCOPE_STOP_SIGTERM, SCOPE_STOP_SIGKILL))
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
if (IN_SET(state, SCOPE_DEAD, SCOPE_FAILED)) {
unit_unwatch_all_pids(UNIT(s));
static void service_stop_watchdog(Service *s) {
assert(s);
- s->watchdog_event_source = sd_event_source_unref(s->watchdog_event_source);
+ s->watchdog_event_source = sd_event_source_disable_unref(s->watchdog_event_source);
s->watchdog_timestamp = DUAL_TIMESTAMP_NULL;
}
service_stop_watchdog(s);
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
- s->exec_fd_event_source = sd_event_source_unref(s->exec_fd_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
+ s->exec_fd_event_source = sd_event_source_disable_unref(s->exec_fd_event_source);
service_release_resources(u);
}
SERVICE_FINAL_WATCHDOG, SERVICE_FINAL_SIGTERM, SERVICE_FINAL_SIGKILL,
SERVICE_AUTO_RESTART,
SERVICE_CLEANING))
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
if (!IN_SET(state,
SERVICE_START, SERVICE_START_POST,
service_close_socket_fd(s);
if (state != SERVICE_START)
- s->exec_fd_event_source = sd_event_source_unref(s->exec_fd_event_source);
+ s->exec_fd_event_source = sd_event_source_disable_unref(s->exec_fd_event_source);
if (!IN_SET(state, SERVICE_START_POST, SERVICE_RUNNING, SERVICE_RELOAD))
service_stop_watchdog(s);
if (safe_atoi(value, &fd) < 0 || fd < 0 || !fdset_contains(fds, fd))
log_unit_debug(u, "Failed to parse exec-fd value: %s", value);
else {
- s->exec_fd_event_source = sd_event_source_unref(s->exec_fd_event_source);
+ s->exec_fd_event_source = sd_event_source_disable_unref(s->exec_fd_event_source);
fd = fdset_remove(fds, fd);
if (service_allocate_exec_fd_event_source(s, fd, &s->exec_fd_event_source) < 0)
}
if (n == 0) { /* EOF → the event we are waiting for */
- s->exec_fd_event_source = sd_event_source_unref(s->exec_fd_event_source);
+ s->exec_fd_event_source = sd_event_source_disable_unref(s->exec_fd_event_source);
if (s->exec_fd_hot) { /* Did the child tell us to expect EOF now? */
log_unit_debug(UNIT(s), "Got EOF on exec-fd");
fail:
log_unit_warning_errno(u, r, "Failed to initiate cleaning: %m");
s->clean_result = SERVICE_FAILURE_RESOURCES;
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
return r;
}
s->fdname = mfree(s->fdname);
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
}
static int socket_arm_timer(Socket *s, usec_t usec) {
was_open = p->fd >= 0;
- p->event_source = sd_event_source_unref(p->event_source);
+ p->event_source = sd_event_source_disable_unref(p->event_source);
p->fd = safe_close(p->fd);
socket_cleanup_fd_list(p);
SOCKET_FINAL_SIGKILL,
SOCKET_CLEANING)) {
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
socket_unwatch_control_pid(s);
s->control_command = NULL;
s->control_command_id = _SOCKET_EXEC_COMMAND_INVALID;
return 0;
fail:
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
return r;
}
fail:
log_unit_warning_errno(u, r, "Failed to initiate cleaning: %m");
s->clean_result = SOCKET_FAILURE_RESOURCES;
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
return r;
}
swap_unwatch_control_pid(s);
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
}
static int swap_arm_timer(Swap *s, usec_t usec) {
s->state = state;
if (!SWAP_STATE_WITH_PROCESS(state)) {
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
swap_unwatch_control_pid(s);
s->control_command = NULL;
s->control_command_id = _SWAP_EXEC_COMMAND_INVALID;
return 0;
fail:
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
return r;
}
static void swap_shutdown(Manager *m) {
assert(m);
- m->swap_event_source = sd_event_source_unref(m->swap_event_source);
+ m->swap_event_source = sd_event_source_disable_unref(m->swap_event_source);
m->proc_swaps = safe_fclose(m->proc_swaps);
m->swaps_by_devnode = hashmap_free(m->swaps_by_devnode);
}
fail:
log_unit_warning_errno(u, r, "Failed to initiate cleaning: %m");
s->clean_result = SWAP_FAILURE_RESOURCES;
- s->timer_event_source = sd_event_source_unref(s->timer_event_source);
+ s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
return r;
}
timer_free_values(t);
- t->monotonic_event_source = sd_event_source_unref(t->monotonic_event_source);
- t->realtime_event_source = sd_event_source_unref(t->realtime_event_source);
+ t->monotonic_event_source = sd_event_source_disable_unref(t->monotonic_event_source);
+ t->realtime_event_source = sd_event_source_disable_unref(t->realtime_event_source);
free(t->stamp_path);
}
t->state = state;
if (state != TIMER_WAITING) {
- t->monotonic_event_source = sd_event_source_unref(t->monotonic_event_source);
- t->realtime_event_source = sd_event_source_unref(t->realtime_event_source);
+ t->monotonic_event_source = sd_event_source_disable_unref(t->monotonic_event_source);
+ t->realtime_event_source = sd_event_source_disable_unref(t->realtime_event_source);
t->next_elapse_monotonic_or_boottime = USEC_INFINITY;
t->next_elapse_realtime = USEC_INFINITY;
}
if (r < 0)
log_warning_errno(r, "Failed to disable event source for tidying watched PIDs, ignoring: %m");
- u->rewatch_pids_event_source = sd_event_source_unref(u->rewatch_pids_event_source);
+ u->rewatch_pids_event_source = sd_event_source_disable_unref(u->rewatch_pids_event_source);
}
bool unit_job_is_applicable(Unit *u, JobType j) {