]> code.delx.au - pulseaudio/blobdiff - src/daemon/main.c
daemon: reset personality, to make the autospawn env cleaup complete
[pulseaudio] / src / daemon / main.c
index eb378d24b468b8cab5c63e3b42bed2a647f9c273..c759df539762078599de0a486cb1366aaf5cd980 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);