daemon: reset personality, to make the autospawn env cleaup complete
authorLennart Poettering <lennart@poettering.net>
Wed, 22 Jul 2009 20:47:51 +0000 (22:47 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 22 Jul 2009 20:47:51 +0000 (22:47 +0200)
src/daemon/main.c

index eb378d2..c759df5 100644 (file)
 #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);