diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2020-12-07 15:44:05 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2020-12-07 15:49:01 +0200 |
commit | 1f528cbd617b49d20bbfc30c16e3dd810849b136 (patch) | |
tree | 6d248f1c079d4c62eb1e84ce5dd7cc03490b31d4 /src/syslog.c | |
parent | 5c0938830468b5829d3106a34456e85896201d1a (diff) | |
download | pies-1f528cbd617b49d20bbfc30c16e3dd810849b136.tar.gz pies-1f528cbd617b49d20bbfc30c16e3dd810849b136.tar.bz2 |
Fix changing of the syslog dev. Fix bugs in closing unnecessary fds. Version 1.4.96
* lib/closefds.c [HAVE_FUNC_PROC_PIDINFO] (close_fds_sys): Fix
algorithm.
* src/pies.c (cb_syslog_dev): New callback. Handle "dev" using it.
(main): Don't close fd 2 before restarting.
* src/pies_syslog.h (pies_syslog_set_dev): New proto.
* src/progman.c (prog_start,run_command): Don't close necessary fds.
* src/syslog.c (pies_log_dev): Mark as static.
(pies_syslog_set_dev): New function.
Diffstat (limited to 'src/syslog.c')
-rw-r--r-- | src/syslog.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/syslog.c b/src/syslog.c index 36f9473..38754a7 100644 --- a/src/syslog.c +++ b/src/syslog.c @@ -55,7 +55,7 @@ char *pies_fallback_file = "/tmp/pies_logger.log"; to be a UNIX socket name. Otherwise, it is assumed to be a host name or IPv4 address of the syslog daemon, optionally followed by a colon and port number or service name. */ -char *pies_log_dev = PIES_LOG_DEV; +static char *pies_log_dev = PIES_LOG_DEV; /* Log tag */ char *pies_log_tag = "pies"; /* Log facility */ @@ -462,3 +462,14 @@ pies_syslog_message (int prio, char const *text, char const *tag, pid_t pid) { log_message_enqueue (log_message_create (prio, text, tag, pid)); } + +int +pies_syslog_set_dev (char const *dev) +{ + char *p = strdup (dev); + if (!p) + return -1; + pies_log_dev = p; + pies_syslog_close (); + log_salen = 0; +} |