Changeset View
Changeset View
Standalone View
Standalone View
src/util/system.cpp
Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | |||||
#endif | #endif | ||||
#include <codecvt> | #include <codecvt> | ||||
#include <io.h> /* for _commit */ | #include <io.h> /* for _commit */ | ||||
#include <shellapi.h> | #include <shellapi.h> | ||||
#include <shlobj.h> | #include <shlobj.h> | ||||
#endif | #endif | ||||
#ifdef HAVE_SYS_PRCTL_H | |||||
#include <sys/prctl.h> | |||||
#endif | |||||
#ifdef HAVE_MALLOPT_ARENA_MAX | #ifdef HAVE_MALLOPT_ARENA_MAX | ||||
#include <malloc.h> | #include <malloc.h> | ||||
#endif | #endif | ||||
// Application startup time (used for uptime calculation) | // Application startup time (used for uptime calculation) | ||||
const int64_t nStartupTime = GetTime(); | const int64_t nStartupTime = GetTime(); | ||||
const char *const BITCOIN_CONF_FILENAME = "bitcoin.conf"; | const char *const BITCOIN_CONF_FILENAME = "bitcoin.conf"; | ||||
▲ Show 20 Lines • Show All 1,173 Lines • ▼ Show 20 Lines | int nErr = ::_wsystem( | ||||
.c_str()); | .c_str()); | ||||
#endif | #endif | ||||
if (nErr) { | if (nErr) { | ||||
LogPrintf("runCommand error: system(%s) returned %d\n", strCommand, | LogPrintf("runCommand error: system(%s) returned %d\n", strCommand, | ||||
nErr); | nErr); | ||||
} | } | ||||
} | } | ||||
void RenameThread(const char *name) { | |||||
#if defined(PR_SET_NAME) | |||||
// Only the first 15 characters are used (16 - NUL terminator) | |||||
::prctl(PR_SET_NAME, name, 0, 0, 0); | |||||
#elif (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)) | |||||
pthread_set_name_np(pthread_self(), name); | |||||
#elif defined(MAC_OSX) | |||||
pthread_setname_np(name); | |||||
#else | |||||
// Prevent warnings for unused parameters... | |||||
(void)name; | |||||
#endif | |||||
} | |||||
void SetupEnvironment() { | void SetupEnvironment() { | ||||
#ifdef HAVE_MALLOPT_ARENA_MAX | #ifdef HAVE_MALLOPT_ARENA_MAX | ||||
// glibc-specific: On 32-bit systems set the number of arenas to 1. By | // glibc-specific: On 32-bit systems set the number of arenas to 1. By | ||||
// default, since glibc 2.10, the C library will create up to two heap | // default, since glibc 2.10, the C library will create up to two heap | ||||
// arenas per core. This is known to cause excessive virtual address space | // arenas per core. This is known to cause excessive virtual address space | ||||
// usage in our usage. Work around it by setting the maximum number of | // usage in our usage. Work around it by setting the maximum number of | ||||
// arenas to 1. | // arenas to 1. | ||||
if (sizeof(void *) == 4) { | if (sizeof(void *) == 4) { | ||||
▲ Show 20 Lines • Show All 97 Lines • Show Last 20 Lines |