diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 09b6304996f390e3608cb1b3c89adf3bfe678abc..19c160c1a347e61496296a3ea0da2e54e4d069a0 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 1665969a81a1cdeab0b2b2fe3577a3e771896a3a..bc35e2e2b799682fb8a44d8355d5d4a84a287814 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 ffbdc2394ea5037e0fd7d0c1efef37d7ab5a750b..012e2beaecf71b06ae219b8d231ad5cf21529273 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); }