aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheCharlatan <seb.kung@gmail.com>2023-05-06 22:14:11 +0200
committerTheCharlatan <seb.kung@gmail.com>2023-05-20 12:03:30 +0200
commit9ec5da36b62276ae22e348f26f88aaf646357d6d (patch)
tree5bd3bfc21492d1db0bfe0e4f0452f64f593fad16
parentf871c69191dfe1331861ebcdbadb6bd47e45c8b1 (diff)
downloadbitcoin-9ec5da36b62276ae22e348f26f88aaf646357d6d.tar.xz
refactor: Move ScheduleBatchPriority to its own file
With the previous move of AlertNotify out of the validation file, and thus out of the kernel library, ScheduleBatchPriority is the last remaining function used by the kernel library from util/system. Move it to its own file, such that util/system can be moved out of the util library in the following few commits. Moving util/system out of the kernel library removes further networking as well as shell related code from it.
-rw-r--r--src/Makefile.am4
-rw-r--r--src/node/blockstorage.cpp1
-rw-r--r--src/util/batchpriority.cpp26
-rw-r--r--src/util/batchpriority.h15
-rw-r--r--src/util/system.cpp18
-rw-r--r--src/util/system.h7
6 files changed, 45 insertions, 26 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 2bbd343657..9764df7fbc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -280,6 +280,7 @@ BITCOIN_CORE_H = \
txrequest.h \
undo.h \
util/asmap.h \
+ util/batchpriority.h \
util/bip32.h \
util/bitdeque.h \
util/bytevectorhash.h \
@@ -711,6 +712,7 @@ libbitcoin_util_a_SOURCES = \
support/cleanse.cpp \
sync.cpp \
util/asmap.cpp \
+ util/batchpriority.cpp \
util/bip32.cpp \
util/bytevectorhash.cpp \
util/chaintype.cpp \
@@ -963,6 +965,7 @@ libbitcoinkernel_la_SOURCES = \
txdb.cpp \
txmempool.cpp \
uint256.cpp \
+ util/batchpriority.cpp \
util/chaintype.cpp \
util/check.cpp \
util/exception.cpp \
@@ -978,7 +981,6 @@ libbitcoinkernel_la_SOURCES = \
util/string.cpp \
util/syscall_sandbox.cpp \
util/syserror.cpp \
- util/system.cpp \
util/thread.cpp \
util/threadnames.cpp \
util/time.cpp \
diff --git a/src/node/blockstorage.cpp b/src/node/blockstorage.cpp
index f8d4e6c1da..a97f837e28 100644
--- a/src/node/blockstorage.cpp
+++ b/src/node/blockstorage.cpp
@@ -17,6 +17,7 @@
#include <signet.h>
#include <streams.h>
#include <undo.h>
+#include <util/batchpriority.h>
#include <util/fs.h>
#include <util/syscall_sandbox.h>
#include <util/system.h>
diff --git a/src/util/batchpriority.cpp b/src/util/batchpriority.cpp
new file mode 100644
index 0000000000..c73aef1eb4
--- /dev/null
+++ b/src/util/batchpriority.cpp
@@ -0,0 +1,26 @@
+// Copyright (c) 2023 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 <logging.h>
+#include <util/syserror.h>
+
+#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__))
+#include <pthread.h>
+#include <pthread_np.h>
+#endif
+
+#ifndef WIN32
+#include <sched.h>
+#endif
+
+void ScheduleBatchPriority()
+{
+#ifdef SCHED_BATCH
+ const static sched_param param{};
+ const int rc = pthread_setschedparam(pthread_self(), SCHED_BATCH, &param);
+ if (rc != 0) {
+ LogPrintf("Failed to pthread_setschedparam: %s\n", SysErrorString(rc));
+ }
+#endif
+}
diff --git a/src/util/batchpriority.h b/src/util/batchpriority.h
new file mode 100644
index 0000000000..5ffc8dd684
--- /dev/null
+++ b/src/util/batchpriority.h
@@ -0,0 +1,15 @@
+// Copyright (c) 2023 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_BATCHPRIORITY_H
+#define BITCOIN_UTIL_BATCHPRIORITY_H
+
+/**
+ * On platforms that support it, tell the kernel the calling thread is
+ * CPU-intensive and non-interactive. See SCHED_BATCH in sched(7) for details.
+ *
+ */
+void ScheduleBatchPriority();
+
+#endif // BITCOIN_UTIL_BATCHPRIORITY_H
diff --git a/src/util/system.cpp b/src/util/system.cpp
index 598e6adb88..0b342c03a0 100644
--- a/src/util/system.cpp
+++ b/src/util/system.cpp
@@ -7,16 +7,9 @@
#include <logging.h>
#include <util/string.h>
-#include <util/syserror.h>
#include <util/time.h>
-#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__))
-#include <pthread.h>
-#include <pthread_np.h>
-#endif
-
#ifndef WIN32
-#include <sched.h>
#include <sys/stat.h>
#else
#include <codecvt>
@@ -112,14 +105,3 @@ int64_t GetStartupTime()
{
return nStartupTime;
}
-
-void ScheduleBatchPriority()
-{
-#ifdef SCHED_BATCH
- const static sched_param param{};
- const int rc = pthread_setschedparam(pthread_self(), SCHED_BATCH, &param);
- if (rc != 0) {
- LogPrintf("Failed to pthread_setschedparam: %s\n", SysErrorString(rc));
- }
-#endif
-}
diff --git a/src/util/system.h b/src/util/system.h
index e2fc3450f6..a8c049ad44 100644
--- a/src/util/system.h
+++ b/src/util/system.h
@@ -36,13 +36,6 @@ void runCommand(const std::string& strCommand);
*/
int GetNumCores();
-/**
- * On platforms that support it, tell the kernel the calling thread is
- * CPU-intensive and non-interactive. See SCHED_BATCH in sched(7) for details.
- *
- */
-void ScheduleBatchPriority();
-
namespace util {
//! Simplification of std insertion