chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] Don't use any syslog() in signal handler, cause it may deadlock.
[elogind.git]
/
logging.h
diff --git
a/logging.h
b/logging.h
index 40c342c3ab0c04c7b2690c1e34548f06c49ee0ee..30f52c84ce6969eda5b0fb54c1a2c4151389c802 100644
(file)
--- a/
logging.h
+++ b/
logging.h
@@
-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 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>
#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];
/* 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);
}
{
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
#endif /* LOG */
#endif