1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-19 22:50:17 +03:00

[PATCH] close the syslog

Seems that we never closed the opened syslog.
Here is a patch to do this in all our binaries.
This commit is contained in:
kay.sievers@vrfy.org 2004-10-18 18:15:10 -07:00 committed by Greg KH
parent 0f634c33d7
commit 7257cb1845
6 changed files with 26 additions and 14 deletions

View File

@ -27,7 +27,8 @@
#define info(format, arg...) do { } while (0)
#define dbg(format, arg...) do { } while (0)
#define dbg_parse(format, arg...) do { } while (0)
#define init_logging(foo) do { } while (0)
#define logging_init(foo) do { } while (0)
#define logging_close(foo) do { } while (0)
#ifdef LOG
#include <stdarg.h>
@ -65,13 +66,19 @@ extern void log_message(int level, const char *format, ...)
/* each program that uses syslog must declare this variable somewhere */
extern unsigned char logname[LOGNAME_SIZE];
#undef init_logging
static inline void init_logging(char *program_name)
#undef logging_init
static inline void logging_init(char *program_name)
{
snprintf(logname, LOGNAME_SIZE,"%s[%d]", program_name, getpid());
openlog(logname, 0, LOG_DAEMON);
}
#undef logging_close
static inline void logging_close(void)
{
closelog();
}
#endif /* LOG */
#endif

3
udev.c
View File

@ -122,7 +122,7 @@ int main(int argc, char *argv[], char *envp[])
main_argv = argv;
main_envp = envp;
init_logging("udev");
logging_init("udev");
udev_init_config();
@ -203,5 +203,6 @@ int main(int argc, char *argv[], char *envp[])
udevdb_exit();
exit:
logging_close();
return retval;
}

View File

@ -150,7 +150,7 @@ static void udev_run(struct hotplug_msg *msg)
/* child */
execle(udev_bin, "udev", msg->subsystem, NULL, env);
dbg("exec of child failed");
exit(1);
_exit(1);
break;
case -1:
dbg("fork of child failed");
@ -403,7 +403,7 @@ int main(int argc, char *argv[])
struct sigaction act;
fd_set readfds;
init_logging("udevd");
logging_init("udevd");
dbg("version %s", UDEV_VERSION);
if (getuid() != 0) {
@ -549,5 +549,6 @@ int main(int argc, char *argv[])
}
exit:
close(ssock);
logging_close();
exit(1);
}

View File

@ -447,18 +447,18 @@ help:
int main(int argc, char *argv[], char *envp[])
{
int retval;
int rc = 0;
main_argv = argv;
main_argc = argc;
init_logging("udevinfo");
logging_init("udevinfo");
/* initialize our configuration */
udev_init_config();
retval = process_options();
if (retval != 0)
exit(1);
exit(0);
rc = process_options();
logging_close();
exit(rc);
}

View File

@ -123,7 +123,7 @@ int main(int argc, char* argv[])
socklen_t addrlen;
int started_daemon = 0;
init_logging("udevsend");
logging_init("udevsend");
dbg("version %s", UDEV_VERSION);
subsystem = get_subsystem(argv[1]);
@ -215,5 +215,7 @@ exit:
if (sock != -1)
close(sock);
logging_close();
return retval;
}

View File

@ -392,7 +392,7 @@ int main(int argc, char *argv[], char *envp[])
int rc = 0;
const char *error = NULL;
init_logging("wait_for_sysfs");
logging_init("wait_for_sysfs");
if (argc != 2) {
dbg("error: subsystem");
@ -475,5 +475,6 @@ exit:
dbg("result: waiting for sysfs successful '%s'", devpath);
}
logging_close();
exit(rc);
}