78 lines
2.4 KiB
Diff
78 lines
2.4 KiB
Diff
|
From 3811e51b81320a574bb31aa64b6af56340012527 Mon Sep 17 00:00:00 2001
|
||
|
From: David Zeuthen <davidz@redhat.com>
|
||
|
Date: Tue, 18 Oct 2011 13:13:16 -0400
|
||
|
Subject: [PATCH 2/3] Add --no-debug option and use this for D-Bus activation
|
||
|
|
||
|
Signed-off-by: David Zeuthen <davidz@redhat.com>
|
||
|
---
|
||
|
data/org.freedesktop.PolicyKit1.service.in | 2 +-
|
||
|
src/polkitd/main.c | 27 ++++++++++++++++++++++++++-
|
||
|
2 files changed, 27 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/data/org.freedesktop.PolicyKit1.service.in b/data/org.freedesktop.PolicyKit1.service.in
|
||
|
index 5a54ca1..b6cd02b 100644
|
||
|
--- a/data/org.freedesktop.PolicyKit1.service.in
|
||
|
+++ b/data/org.freedesktop.PolicyKit1.service.in
|
||
|
@@ -1,4 +1,4 @@
|
||
|
[D-BUS Service]
|
||
|
Name=org.freedesktop.PolicyKit1
|
||
|
-Exec=@libexecdir@/polkitd
|
||
|
+Exec=@libexecdir@/polkitd --no-debug
|
||
|
User=root
|
||
|
diff --git a/src/polkitd/main.c b/src/polkitd/main.c
|
||
|
index 33ea511..b21723f 100644
|
||
|
--- a/src/polkitd/main.c
|
||
|
+++ b/src/polkitd/main.c
|
||
|
@@ -22,6 +22,9 @@
|
||
|
#include "config.h"
|
||
|
|
||
|
#include <signal.h>
|
||
|
+
|
||
|
+#include <glib-unix.h>
|
||
|
+
|
||
|
#include <polkit/polkit.h>
|
||
|
#include <polkitbackend/polkitbackend.h>
|
||
|
|
||
|
@@ -33,8 +36,10 @@ static PolkitBackendAuthority *authority = NULL;
|
||
|
static gpointer registration_id = NULL;
|
||
|
static GMainLoop *loop = NULL;
|
||
|
static gboolean opt_replace = FALSE;
|
||
|
+static gboolean opt_no_debug = FALSE;
|
||
|
static GOptionEntry opt_entries[] = {
|
||
|
- {"replace", 0, 0, G_OPTION_ARG_NONE, &opt_replace, "Replace existing daemon", NULL},
|
||
|
+ {"replace", 'r', 0, G_OPTION_ARG_NONE, &opt_replace, "Replace existing daemon", NULL},
|
||
|
+ {"no-debug", 'n', 0, G_OPTION_ARG_NONE, &opt_no_debug, "Don't print debug information", NULL},
|
||
|
{NULL }
|
||
|
};
|
||
|
|
||
|
@@ -120,6 +125,26 @@ main (int argc,
|
||
|
goto out;
|
||
|
}
|
||
|
|
||
|
+ /* If --no-debug is requested don't clutter stdout/stderr etc.
|
||
|
+ */
|
||
|
+ if (opt_no_debug)
|
||
|
+ {
|
||
|
+ gint dev_null_fd;
|
||
|
+ dev_null_fd = open ("/dev/null", O_RDWR);
|
||
|
+ if (dev_null_fd >= 0)
|
||
|
+ {
|
||
|
+ dup2 (dev_null_fd, STDIN_FILENO);
|
||
|
+ dup2 (dev_null_fd, STDOUT_FILENO);
|
||
|
+ dup2 (dev_null_fd, STDERR_FILENO);
|
||
|
+ close (dev_null_fd);
|
||
|
+ }
|
||
|
+ else
|
||
|
+ {
|
||
|
+ g_warning ("Error opening /dev/null: %m");
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
+
|
||
|
loop = g_main_loop_new (NULL, FALSE);
|
||
|
|
||
|
sigint_id = _g_posix_signal_watch_add (SIGINT,
|
||
|
--
|
||
|
1.7.3.4
|
||
|
|