syslog_daemon: Converted to BServer.

* Instead of letting the kernel search for the syslog port, the
  daemon now registers itself with the kernel (which even solves
  a TODO).
* A port is created for the actual log messages from the launch_daemon,
  and used on start.
* However, the SyslogTest does not yet work, due to the BMessage <->
  KMessage communication problems.
This commit is contained in:
Axel Dörfler
2015-07-22 20:40:47 +02:00
parent 9d69dc097d
commit 4bf862e368
11 changed files with 137 additions and 123 deletions
+4 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2010, Axel Dörfler, [email protected]
* Copyright 2002-2015, Axel Dörfler, [email protected]
* Distributed under the terms of the Haiku License.
*
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
@@ -221,8 +221,9 @@ extern bool debug_is_debugged_team(team_id teamID);
extern struct arch_debug_registers* debug_get_debug_registers(int32 cpu);
extern status_t _user_kernel_debugger(const char *message);
extern void _user_debug_output(const char *userString);
extern status_t _user_kernel_debugger(const char *message);
extern void _user_register_syslog_daemon(port_id port);
extern void _user_debug_output(const char *userString);
#ifdef __cplusplus
}
@@ -1,5 +1,5 @@
/*
* Copyright 2003-2006, Axel Dörfler, [email protected]. All rights reserved.
* Copyright 2003-2015, Axel Dörfler, [email protected]. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef SYSLOG_DAEMON_H
@@ -9,7 +9,7 @@
#include <OS.h>
#define SYSLOG_PORT_NAME "syslog_daemon"
#define B_SYSTEM_LOGGER_SIGNATURE "application/x-vnd.Haiku-SystemLogger"
#define SYSLOG_MESSAGE '_Syl'
#define SYSLOG_ADD_LISTENER 'aSyl'
+2 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2004-2011, Haiku, Inc. All rights reserved.
* Copyright 2004-2015, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _SYSTEM_SYSCALLS_H
@@ -472,6 +472,7 @@ extern status_t _kern_get_port_message_info_etc(port_id port,
// debug support functions
extern status_t _kern_kernel_debugger(const char *message);
extern void _kern_register_syslog_daemon(port_id port);
extern void _kern_debugger(const char *message);
extern int _kern_disable_debugger(int state);