diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/sock.cpp | 2 | ||||
-rw-r--r-- | src/util/system.cpp | 107 | ||||
-rw-r--r-- | src/util/system.h | 38 |
3 files changed, 1 insertions, 146 deletions
diff --git a/src/util/sock.cpp b/src/util/sock.cpp index 53d20bdf19..c83869bc77 100644 --- a/src/util/sock.cpp +++ b/src/util/sock.cpp @@ -2,12 +2,12 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#include <common/system.h> #include <compat/compat.h> #include <logging.h> #include <tinyformat.h> #include <util/sock.h> #include <util/syserror.h> -#include <util/system.h> #include <util/threadinterrupt.h> #include <util/time.h> diff --git a/src/util/system.cpp b/src/util/system.cpp deleted file mode 100644 index 0b342c03a0..0000000000 --- a/src/util/system.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2022 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include <util/system.h> - -#include <logging.h> -#include <util/string.h> -#include <util/time.h> - -#ifndef WIN32 -#include <sys/stat.h> -#else -#include <codecvt> -#endif - -#ifdef HAVE_MALLOPT_ARENA_MAX -#include <malloc.h> -#endif - -#include <cstdlib> -#include <locale> -#include <stdexcept> -#include <string> -#include <thread> - -// Application startup time (used for uptime calculation) -const int64_t nStartupTime = GetTime(); - -#ifndef WIN32 -std::string ShellEscape(const std::string& arg) -{ - std::string escaped = arg; - ReplaceAll(escaped, "'", "'\"'\"'"); - return "'" + escaped + "'"; -} -#endif - -#if HAVE_SYSTEM -void runCommand(const std::string& strCommand) -{ - if (strCommand.empty()) return; -#ifndef WIN32 - int nErr = ::system(strCommand.c_str()); -#else - int nErr = ::_wsystem(std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t>().from_bytes(strCommand).c_str()); -#endif - if (nErr) - LogPrintf("runCommand error: system(%s) returned %d\n", strCommand, nErr); -} -#endif - -void SetupEnvironment() -{ -#ifdef HAVE_MALLOPT_ARENA_MAX - // 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 - // 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 - // arenas to 1. - if (sizeof(void*) == 4) { - mallopt(M_ARENA_MAX, 1); - } -#endif - // On most POSIX systems (e.g. Linux, but not BSD) the environment's locale - // may be invalid, in which case the "C.UTF-8" locale is used as fallback. -#if !defined(WIN32) && !defined(MAC_OSX) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) - try { - std::locale(""); // Raises a runtime error if current locale is invalid - } catch (const std::runtime_error&) { - setenv("LC_ALL", "C.UTF-8", 1); - } -#elif defined(WIN32) - // Set the default input/output charset is utf-8 - SetConsoleCP(CP_UTF8); - SetConsoleOutputCP(CP_UTF8); -#endif - -#ifndef WIN32 - constexpr mode_t private_umask = 0077; - umask(private_umask); -#endif -} - -bool SetupNetworking() -{ -#ifdef WIN32 - // Initialize Windows Sockets - WSADATA wsadata; - int ret = WSAStartup(MAKEWORD(2,2), &wsadata); - if (ret != NO_ERROR || LOBYTE(wsadata.wVersion ) != 2 || HIBYTE(wsadata.wVersion) != 2) - return false; -#endif - return true; -} - -int GetNumCores() -{ - return std::thread::hardware_concurrency(); -} - -// Obtain the application startup time (used for uptime calculation) -int64_t GetStartupTime() -{ - return nStartupTime; -} diff --git a/src/util/system.h b/src/util/system.h deleted file mode 100644 index 719cd28f97..0000000000 --- a/src/util/system.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2022 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_UTIL_SYSTEM_H -#define BITCOIN_UTIL_SYSTEM_H - -#if defined(HAVE_CONFIG_H) -#include <config/bitcoin-config.h> -#endif - -#include <compat/assumptions.h> -#include <compat/compat.h> - -#include <set> -#include <stdint.h> -#include <string> - -// Application startup time (used for uptime calculation) -int64_t GetStartupTime(); - -void SetupEnvironment(); -bool SetupNetworking(); -#ifndef WIN32 -std::string ShellEscape(const std::string& arg); -#endif -#if HAVE_SYSTEM -void runCommand(const std::string& strCommand); -#endif - -/** - * Return the number of cores available on the current system. - * @note This does count virtual cores, such as those provided by HyperThreading. - */ -int GetNumCores(); - -#endif // BITCOIN_UTIL_SYSTEM_H |