Commit 0ebd4ae9 authored by Matt Fischer's avatar Matt Fischer Committed by Simon McVittie

Add support for systems without syslog.h

This patch disables the use of syslog for systems which
do not have it, such as QNX.  Log messages are still
printed to stderr.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61176Reviewed-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
parent 0484cf1a
......@@ -49,7 +49,10 @@
#include <sys/socket.h>
#include <dirent.h>
#include <sys/un.h>
#ifdef HAVE_SYSLOG_H
#include <syslog.h>
#endif
#ifdef HAVE_SYS_SYSLIMITS_H
#include <sys/syslimits.h>
......@@ -425,11 +428,15 @@ _dbus_request_file_descriptor_limit (unsigned int limit)
void
_dbus_init_system_log (void)
{
#ifdef HAVE_SYSLOG_H
#if HAVE_DECL_LOG_PERROR
openlog ("dbus", LOG_PID | LOG_PERROR, LOG_DAEMON);
#else
openlog ("dbus", LOG_PID, LOG_DAEMON);
#endif
#endif
}
/**
......@@ -465,6 +472,7 @@ _dbus_system_log (DBusSystemLogSeverity severity, const char *msg, ...)
void
_dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args)
{
#ifdef HAVE_SYSLOG_H
int flags;
switch (severity)
{
......@@ -481,7 +489,10 @@ _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args
return;
}
#ifndef HAVE_DECL_LOG_PERROR
vsyslog (flags, msg, args);
#endif
#if !defined(HAVE_SYSLOG_H) || !HAVE_DECL_LOG_PERROR
{
/* vsyslog() won't write to stderr, so we'd better do it */
va_list tmp;
......@@ -494,8 +505,6 @@ _dbus_system_logv (DBusSystemLogSeverity severity, const char *msg, va_list args
}
#endif
vsyslog (flags, msg, args);
if (severity == DBUS_SYSTEM_LOG_FATAL)
exit (1);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment