diff options
| author | Dmitri Pal <dpal@redhat.com> | 2009-02-25 08:38:29 -0500 |
|---|---|---|
| committer | Dmitri Pal <dpal@redhat.com> | 2009-02-25 08:38:29 -0500 |
| commit | 8c83881017e3815534f9d880c58b78a56ca4f971 (patch) | |
| tree | b5603cf3a695c1e79d6b4dd59062842706303718 /sinks/syslog | |
| parent | 0df05e7a4b2533c73544d5405c183d0bda2c153f (diff) | |
| download | elapi_draft-8c83881017e3815534f9d880c58b78a56ca4f971.tar.gz elapi_draft-8c83881017e3815534f9d880c58b78a56ca4f971.tar.xz elapi_draft-8c83881017e3815534f9d880c58b78a56ca4f971.zip | |
Making the sink to be able to inicate that it is loadable once per process.
Diffstat (limited to 'sinks/syslog')
| -rw-r--r-- | sinks/syslog/elapi_sink_syslog.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sinks/syslog/elapi_sink_syslog.c b/sinks/syslog/elapi_sink_syslog.c index c9931a8..4d39838 100644 --- a/sinks/syslog/elapi_sink_syslog.c +++ b/sinks/syslog/elapi_sink_syslog.c @@ -10,6 +10,9 @@ #include "elapi_util.h" #include "elapi_ini.h" +/* Global variable - instance */ +static int instance = 0; + /* FIXME - this should be taken from the config.h generated by autotools */ #define SYSLOG_RETRY 60 /* @@ -135,6 +138,8 @@ static int init_config(struct data_descriptor *dblock) dblock->config = (void *)(conf_data); openlog(conf_data->ident,conf_data->option,conf_data->facility); + instance++; + DEBUG_NUMBER("syslog instance",instance); DEBUG_STRING("init_config","Entry"); return EOK; @@ -261,6 +266,9 @@ static void syslog_sink_close(struct data_descriptor *dblock) } closelog(); + DEBUG_STRING("Closed syslog",""); + if(instance) instance--; + DEBUG_NUMBER("syslog instance",instance); DEBUG_STRING("syslog_sink_close","Exit"); } @@ -292,6 +300,8 @@ void get_sink_info(struct sink_capability *sink_cpb_block) DEBUG_STRING("get_sink_info","Entry"); sink_cpb_block->retry_interval = SYSLOG_RETRY; + sink_cpb_block->flags = SINK_FLAG_LOAD_SINGLE; + sink_cpb_block->instance = instance; sink_cpb_block->init_cb = syslog_sink_init; sink_cpb_block->cleanup_cb = syslog_sink_cleanup; sink_cpb_block->format_cb = syslog_sink_format; |
