static gboolean afprogram_sd_deinit(LogPipe *s) { AFProgramSourceDriver *self = (AFProgramSourceDriver *) s; if (self->pid != -1) { msg_verbose("Sending source program a TERM signal", evt_tag_str("cmdline", self->cmdline->str), evt_tag_int("child_pid", self->pid), NULL); kill(self->pid, SIGTERM); self->pid = -1; } if (self->reader) { log_pipe_deinit(self->reader); log_pipe_unref(self->reader); self->reader = NULL; } if (!log_src_driver_deinit_method(s)) return FALSE; return TRUE; }
gboolean afsocket_sd_deinit(LogPipe *s) { AFSocketSourceDriver *self = (AFSocketSourceDriver *) s; GlobalConfig *cfg = log_pipe_get_config(s); if ((self->flags & AFSOCKET_KEEP_ALIVE) == 0 || !cfg->persist) { afsocket_sd_kill_connection_list(self->connections); } else { GList *p; /* for AFSOCKET_STREAM source drivers this is a list, for * AFSOCKET_DGRAM this is a single connection */ for (p = self->connections; p; p = p->next) { log_pipe_deinit((LogPipe *) p->data); } cfg_persist_config_add(cfg, afsocket_sd_format_persist_name(self, FALSE), self->connections, (GDestroyNotify) afsocket_sd_kill_connection_list, FALSE); } self->connections = NULL; if (self->flags & AFSOCKET_STREAM) { afsocket_sd_stop_watches(self); if ((self->flags & AFSOCKET_KEEP_ALIVE) == 0) { msg_verbose("Closing listener fd", evt_tag_int("fd", self->fd), NULL); close(self->fd); } else { /* NOTE: the fd is incremented by one when added to persistent config * as persist config cannot store NULL */ cfg_persist_config_add(cfg, afsocket_sd_format_persist_name(self, TRUE), GUINT_TO_POINTER(self->fd + 1), afsocket_sd_close_fd, FALSE); } } else if (self->flags & AFSOCKET_DGRAM) { /* we don't need to close the listening fd here as we have a * single connection which will close it */ ; } if (!log_src_driver_deinit_method(s)) return FALSE; return TRUE; }
gboolean afsocket_sd_deinit_method(LogPipe *s) { AFSocketSourceDriver *self = (AFSocketSourceDriver *) s; afsocket_sd_save_connections(self); afsocket_sd_save_listener(self); return log_src_driver_deinit_method(s); }
static gboolean __deinit(LogPipe *s) { SystemdJournalSourceDriver *self = (SystemdJournalSourceDriver *)s; if (self->reader) { log_pipe_deinit((LogPipe *)self->reader); log_pipe_unref((LogPipe *)self->reader); self->reader = NULL; } log_src_driver_deinit_method(s); return TRUE; }
static gboolean trigger_sd_deinit (LogPipe *s) { TriggerSourceDriver *self = (TriggerSourceDriver *)s; if (self->source) { log_pipe_deinit (&self->source->super); log_pipe_unref (&self->source->super); self->source = NULL; } g_free (self->options.message); return log_src_driver_deinit_method (s); }
static gboolean affile_sd_deinit(LogPipe *s) { AFFileSourceDriver *self = (AFFileSourceDriver *) s; if (self->reader) { log_pipe_deinit((LogPipe *) self->reader); log_pipe_unref((LogPipe *) self->reader); self->reader = NULL; } if (!log_src_driver_deinit_method(s)) return FALSE; return TRUE; }
static gboolean afprogram_sd_deinit(LogPipe *s) { AFProgramSourceDriver *self = (AFProgramSourceDriver *) s; afprogram_sd_kill_child(self); if (self->reader) { log_pipe_deinit(self->reader); log_pipe_unref(self->reader); self->reader = NULL; } if (!log_src_driver_deinit_method(s)) return FALSE; return TRUE; }
static gboolean afinter_sd_deinit(LogPipe *s) { AFInterSourceDriver *self = (AFInterSourceDriver *) s; if (self->source) { log_pipe_deinit(&self->source->super); /* break circular reference created during _init */ log_pipe_unref(&self->source->super); self->source = NULL; } if (!log_src_driver_deinit_method(s)) return FALSE; return TRUE; }
static gboolean afstreams_sd_deinit(LogPipe *s) { AFStreamsSourceDriver *self = (AFStreamsSourceDriver *) s; if (self->reader) { log_pipe_deinit((LogPipe *) self->reader); log_pipe_unref((LogPipe *) self->reader); self->reader = NULL; } if (self->door_fd != -1) { door_revoke(self->door_fd); close(self->door_fd); } if (!log_src_driver_deinit_method(s)) return FALSE; return TRUE; }