diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 09b63049..19c160c1 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -1692,6 +1692,9 @@ int main(int argc, char **argv) { } else { #ifndef WIN32 + mallopt(M_CHECK_ACTION, 2); + mallopt(M_PERTURB, 0xb); + signal(SIGPIPE, SIG_IGN); if (signal(SIGCHLD, spectrum_sigchld_handler) == SIG_ERR) { diff --git a/spectrum/src/main.cpp b/spectrum/src/main.cpp index 1665969a..bc35e2e2 100644 --- a/spectrum/src/main.cpp +++ b/spectrum/src/main.cpp @@ -26,6 +26,7 @@ #include #include #include "libgen.h" +#include #else #include #endif @@ -125,8 +126,10 @@ int main(int argc, char **argv) std::string jid; setlocale(LC_ALL, ""); - putenv("MALLOC_CHECK_=2"); - putenv("MALLOC_PERTURB_=B"); +#ifndef WIN32 + mallopt(M_CHECK_ACTION, 2); + mallopt(M_PERTURB, 0xb); +#endif #ifndef WIN32 if (signal(SIGINT, spectrum_sigint_handler) == SIG_ERR) { diff --git a/spectrum_manager/src/main.cpp b/spectrum_manager/src/main.cpp index ffbdc239..012e2bea 100644 --- a/spectrum_manager/src/main.cpp +++ b/spectrum_manager/src/main.cpp @@ -569,9 +569,6 @@ int main(int argc, char **argv) return 1; } - putenv("MALLOC_CHECK_=2"); - putenv("MALLOC_PERTURB_=B"); - if (command[0] == "start") { start_instances(&config); }