+ /* The so-called POSIX-compliant MacOS X reportedly processes SIGPIPE even
+ * if it is blocked in all thread. Also some libraries want SIGPIPE blocked
+ * as they have no clue about signal masks.
+ * Note: this is NOT an excuse for not protecting against SIGPIPE. If
+ * LibVLC runs outside of VLC, we cannot rely on this code snippet. */
+ signal (SIGPIPE, SIG_IGN);
+ /* Restore default for SIGCHLD in case parent ignores it. */
+ signal (SIGCHLD, SIG_DFL);
+
+#ifdef HAVE_SETENV
+# ifndef NDEBUG
+ /* Activate malloc checking routines to detect heap corruptions. */
+ setenv ("MALLOC_CHECK_", "2", 1);
+
+ /* Disable the ugly Gnome crash dialog so that we properly segfault */
+ setenv ("GNOME_DISABLE_CRASH_DIALOG", "1", 1);
+# endif
+
+ /* Clear the X.Org startup notification ID. Otherwise the UI might try to
+ * change the environment while the process is multi-threaded. That could
+ * crash. Screw you X.Org. Next time write a thread-safe specification. */
+ unsetenv ("DESKTOP_STARTUP_ID");
+#endif