aboutsummaryrefslogtreecommitdiff
path: root/src/syslog.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2020-12-07 15:44:05 +0200
committerSergey Poznyakoff <gray@gnu.org>2020-12-07 15:49:01 +0200
commit1f528cbd617b49d20bbfc30c16e3dd810849b136 (patch)
tree6d248f1c079d4c62eb1e84ce5dd7cc03490b31d4 /src/syslog.c
parent5c0938830468b5829d3106a34456e85896201d1a (diff)
downloadpies-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.c13
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;
+}

Return to:

Send suggestions and report system problems to the System administrator.