acpid: fix logging

Without this patch acpid can't log the events at all. Moreover it tries
to truncate log file every time.

Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Serj Kalichev 2015-02-23 15:26:47 +01:00 committed by Denys Vlasenko
parent c5beaa08eb
commit 1eafd44947

View File

@ -121,10 +121,8 @@ static void process_event(const char *event)
char *handler = xasprintf("./%s", event);
const char *args[] = { "run-parts", handler, NULL };
// debug info
if (option_mask32 & OPT_d) {
// log the event
bb_error_msg("%s", event);
}
// spawn handler
// N.B. run-parts would require scripts to have #!/bin/sh
@ -256,7 +254,7 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
/* No -d "Debug", we log to log file.
* This includes any output from children.
*/
xmove_fd(xopen(opt_logfile, O_WRONLY | O_CREAT | O_TRUNC), STDOUT_FILENO);
xmove_fd(xopen(opt_logfile, O_WRONLY | O_CREAT | O_APPEND), STDOUT_FILENO);
xdup2(STDOUT_FILENO, STDERR_FILENO);
/* Also, acpid's messages (but not children) will go to syslog too */
openlog(applet_name, LOG_PID, LOG_DAEMON);