Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions include/fluent-bit/flb_input.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ int flb_input_set_collector_event(char *name,
int (*cb_collect) (struct flb_config *, void *),
int fd,
struct flb_config *config);
void flb_input_initialize_all(struct flb_config *config);
void flb_input_pre_run_all(struct flb_config *config);

#endif
3 changes: 3 additions & 0 deletions src/flb_engine.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@ int flb_engine_start(struct flb_config *config)

flb_info("starting engine");

/* Initialize input plugins */
flb_input_initialize_all(config);

/* Inputs pre-run */
flb_input_pre_run_all(config);

Expand Down
31 changes: 19 additions & 12 deletions src/flb_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,29 +43,36 @@ static struct flb_input_plugin *plugin_lookup(char *name, struct flb_config *con
/* Enable an input */
int flb_input_enable(char *name, struct flb_config *config)
{
int ret;
struct flb_input_plugin *plugin;

plugin = plugin_lookup(name, config);
if (!plugin) {
return -1;
}

if (!plugin->cb_init) {
flb_utils_error(FLB_ERR_INPUT_UNSUP);
}
plugin->active = FLB_TRUE;

/* Initialize the input */
if (plugin->cb_init) {
ret = plugin->cb_init(config);
if (ret != 0) {
flb_error("Failed ininitalize Input %s",
plugin->name);
return 0;
}

/* Initialize all inputs */
void flb_input_initialize_all(struct flb_config *config)
{
int ret;
struct mk_list *head;
struct flb_input_plugin *in;

mk_list_foreach(head, &config->inputs) {
in = mk_list_entry(head, struct flb_input_plugin, _head);
/* Initialize the input */
if (in->active == FLB_TRUE && in->cb_init) {
ret = in->cb_init(config);
if (ret != 0) {
flb_error("Failed ininitalize input %s",
in->name);
}
}
}

return 0;
}

/* Invoke all pre-run input callbacks */
Expand Down