diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-07-22 22:47:51 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-07-22 22:47:51 +0200 |
commit | 2f54b5df183630bb284a16ed9be88279c8f0f0e4 (patch) | |
tree | 196c7a11c18948a1121d8b339b5620ed607dda3d | |
parent | 7e2afffb81ab8b495d4f769858a855c2df2c0610 (diff) |
daemon: reset personality, to make the autospawn env cleaup complete
-rw-r--r-- | src/daemon/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c index eb378d24..c759df53 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -65,6 +65,10 @@ #include <dbus/dbus.h> #endif +#ifdef __linux__ +#include <sys/personality.h> +#endif + #include <pulse/mainloop.h> #include <pulse/mainloop-signal.h> #include <pulse/timeval.h> @@ -433,6 +437,12 @@ int main(int argc, char *argv[]) { /* We might be autospawned, in which case have no idea in which * context we have been started. Let's cleanup our execution * context as good as possible */ + +#ifdef __linux__ + if (personality(PER_LINUX) < 0) + pa_log_warn("Uh, personality() failed: %s", pa_cstrerror(errno)); +#endif + pa_drop_root(); pa_close_all(passed_fd, -1); pa_reset_sigs(-1); |