X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=inline;f=src%2Fexec.c;h=c64f949fc57b4ac5cff424a6b27e7cd283e13184;hb=c4d3c868482aa6dbb3cf96685ce7d1cc1a70c995;hp=0923ea75800088fbd536783eb268f6feb5ace44f;hpb=de6448687c2e2a2230770b12b68d6e44e9ada56b;p=collectd.git diff --git a/src/exec.c b/src/exec.c index 0923ea75..c64f949f 100644 --- a/src/exec.c +++ b/src/exec.c @@ -1,6 +1,6 @@ /** * collectd - src/exec.c - * Copyright (C) 2007-2009 Florian octo Forster + * Copyright (C) 2007-2010 Florian octo Forster * Copyright (C) 2007-2009 Sebastian Harl * Copyright (C) 2008 Peter Holik * @@ -265,6 +265,29 @@ static int exec_config (oconfig_item_t *ci) /* {{{ */ return (0); } /* int exec_config }}} */ +static void set_environment (void) /* {{{ */ +{ + char buffer[1024]; + +#ifdef HAVE_SETENV + ssnprintf (buffer, sizeof (buffer), "%i", interval_g); + setenv ("COLLECTD_INTERVAL", buffer, /* overwrite = */ 1); + + ssnprintf (buffer, sizeof (buffer), "%s", hostname_g); + setenv ("COLLECTD_HOSTNAME", buffer, /* overwrite = */ 1); +#else + ssnprintf (buffer, sizeof (buffer), "COLLECTD_INTERVAL=%i", interval_g); + putenv (buffer); + + ssnprintf (buffer, sizeof (buffer), "COLLECTD_HOSTNAME=%s", hostname_g); + putenv (buffer); +#endif + +#ifdef HAVE_SETENV +#else +#endif +} /* }}} void set_environment */ + __attribute__((noreturn)) static void exec_child (program_list_t *pl) /* {{{ */ { @@ -479,6 +502,8 @@ static int fork_child (program_list_t *pl, int *fd_in, int *fd_out, int *fd_err) close (fd_pipe_err[1]); } + set_environment (); + /* Unblock all signals */ reset_signal_mask ();