From 34fe8bd893ed9c7531bc4898b934ef9d4cdf3e68 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 1 Sep 2004 00:23:51 +0000 Subject: add support for SCHED_FIFO git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@163 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/main.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'polyp/main.c') diff --git a/polyp/main.c b/polyp/main.c index de02a110..526bf744 100644 --- a/polyp/main.c +++ b/polyp/main.c @@ -46,6 +46,14 @@ static struct pa_mainloop *mainloop; +static void drop_root(void) { + if (getuid() != 0 && geteuid() == 0) { + fprintf(stderr, __FILE__": started SUID root, dropping root rights.\n"); + setuid(getuid()); + seteuid(getuid()); + } +} + static void exit_signal_callback(struct pa_mainloop_api*m, struct pa_signal_event *e, int sig, void *userdata) { m->quit(m, 1); fprintf(stderr, __FILE__": got signal.\n"); @@ -84,6 +92,18 @@ int main(int argc, char *argv[]) { goto finish; } + if (cmdline->version) { + printf(PACKAGE_NAME" "PACKAGE_VERSION"\n"); + retval = 0; + goto finish; + } + + if (cmdline->high_priority) + pa_raise_priority(); + + if (!cmdline->stay_root) + drop_root(); + if (cmdline->daemonize) { pid_t child; -- cgit