Ava Chow
ff873a20a7
Merge bitcoin/bitcoin#31313 : refactor: Clamp worker threads in ChainstateManager constructor
...
8f85d36d68
refactor: Clamp worker threads in ChainstateManager constructor (TheCharlatan)
Pull request description:
This ensures the options are applied consistently from contexts where they might not pass through the args manager, such as in some tests, or when used through the kernel library.
This is similar to the patch applied in 09ef322acc
, used to make applying the mempool options consistent.
---
This is part of the libbitcoinkernel project https://github.com/bitcoin/bitcoin/issues/27587
ACKs for top commit:
maflcko:
ACK 8f85d36d68
🛳
achow101:
ACK 8f85d36d68
furszy:
Code ACK 8f85d36d68
stickies-v:
ACK 8f85d36d68
Tree-SHA512: 32d7cc177d6726ee9df62ac9eb43e49ba676f35bfcff47834bd97a1e33f2a9ea7be65d0a8a37be149de04e58c9c500ecef730e498f4e3909042324d3136160e9
2024-12-03 18:02:37 -05:00
Pieter Wuille
1ac1c33f3f
[checkqueue] support user-defined return type through std::optional
...
The check type function now needs to return a std::optional<R> for some type R,
and the check queue overall will return std::nullopt if all individual checks
return that, or one of the non-nullopt values if there is at least one.
For most tests, we use R=int, but for the actual validation code, we make it return
the ScriptError.
2024-12-02 16:25:13 -05:00
TheCharlatan
8f85d36d68
refactor: Clamp worker threads in ChainstateManager constructor
...
This ensures the options are applied consistently from contexts where
they might not pass through the args manager, such as in some tests, or
when used through the kernel library.
This is similar to the patch applied in 09ef322acc
.
2024-11-18 11:13:20 +01:00
Hennadii Stepanov
6e17b31680
refactor: Make CCheckQueue
non-copyable and non-movable explicitly
2023-10-03 10:52:17 +01:00
Hennadii Stepanov
8111e74653
refactor: Drop unneeded declaration
2023-10-03 10:52:16 +01:00
Hennadii Stepanov
9cf89f7a5b
refactor: Make CCheckQueue
constructor start worker threads
2023-10-03 10:52:15 +01:00
Hennadii Stepanov
d03eaacbcf
Make CCheckQueue
destructor stop worker threads
2023-10-03 10:52:14 +01:00
fanquake
32e2ffc393
Remove the syscall sandbox
...
After initially being merged in #20487 , it's no-longer clear that an
internal syscall sandboxing mechanism is something that Bitcoin Core
should have/maintain, especially when compared to better
maintained/supported alterantives, i.e firejail.
Note that given where it's used, the sandbox also gets dragged into the
kernel.
There is some related discussion in #24771 .
This should not require any sort of deprecation, as this was only ever
an opt-in, experimental feature.
Closes #24771 .
2023-06-16 10:38:19 +01:00
Hennadii Stepanov
d8427cc28e
refactor: Use move semantics in CCheckQueue::Loop
...
Co-authored-by: Martin Leitner-Ankerl <martin.ankerl@gmail.com>
2023-03-21 13:04:21 +00:00
Hennadii Stepanov
04831fee6d
refactor: Make move semantics explicit for callers
2023-03-21 13:04:01 +00:00
Hennadii Stepanov
6c2d5972f3
refactor: Use move semantics in CCheckQueue::Add
...
Co-authored-by: Martin Leitner-Ankerl <martin.ankerl@gmail.com>
2023-03-21 13:03:41 +00:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00
MacroFake
fa9ebec096
Remove g_parallel_script_checks
2022-10-18 14:12:42 +02:00
Anthony Towns
7d73f58e9c
Increase threadsafety annotation coverage
2022-05-12 02:25:55 +10:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
Hennadii Stepanov
459e208276
Exit early for an empty vChecks in CCheckQueue::Add
2021-11-03 11:26:57 +02:00
Hennadii Stepanov
c43aa62343
Avoid excessive lock contention in CCheckQueue::Add
2021-11-03 11:26:49 +02:00
practicalswift
4747da3a5b
Add syscall sandboxing (seccomp-bpf)
2021-10-01 13:51:10 +00:00
Hennadii Stepanov
bb6fcc75d1
refactor: Drop boost::thread stuff in CCheckQueue
2020-09-24 06:55:34 +03:00
Hennadii Stepanov
6784ac471b
bench: Use CCheckQueue local thread pool
2020-09-24 06:55:34 +03:00
Hennadii Stepanov
01511776ac
Add local thread pool to CCheckQueue
2020-09-24 06:55:33 +03:00
Hennadii Stepanov
0ef938685b
refactor: Use member initializers in CCheckQueue
2020-09-24 06:53:39 +03:00
MarcoFalke
fa488f131f
scripted-diff: Bump copyright headers
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2020-04-16 13:33:09 -04:00
Bushstar
e80317be5f
refactor: Remove redundant conditional
2020-01-21 14:07:42 +00:00
DrahtBot
eb7daf4d60
Update copyright headers to 2018
2018-07-27 07:15:02 -04:00
João Barbosa
12dd101345
scripted-diff: Remove trailing whitespaces
...
-BEGIN VERIFY SCRIPT-
sed --in-place'' --regexp-extended 's/[[:space:]]+$//g' $(git grep -I --files-with-matches --extended-regexp '[[:space:]]+$' -- src test ':!*.svg' ':!src/crypto/sha256_sse4*' ':!src/leveldb' ':!src/qt/locale' ':!src/secp256k1' ':!src/univalue')
-END VERIFY SCRIPT-
2018-07-24 20:46:23 +01:00
donaloconnor
30ded3e3d8
[Refactor] Remove unused fQuit var from checkqueue.h
2018-01-07 20:44:21 +00:00
Akira Takizawa
595a7bab23
Increment MIT Licence copyright header year on files modified in 2017
2018-01-03 02:26:56 +09:00
MeshCollider
1a445343f6
scripted-diff: Replace #include "" with #include <> (ryanofsky)
...
-BEGIN VERIFY SCRIPT-
for f in \
src/*.cpp \
src/*.h \
src/bench/*.cpp \
src/bench/*.h \
src/compat/*.cpp \
src/compat/*.h \
src/consensus/*.cpp \
src/consensus/*.h \
src/crypto/*.cpp \
src/crypto/*.h \
src/crypto/ctaes/*.h \
src/policy/*.cpp \
src/policy/*.h \
src/primitives/*.cpp \
src/primitives/*.h \
src/qt/*.cpp \
src/qt/*.h \
src/qt/test/*.cpp \
src/qt/test/*.h \
src/rpc/*.cpp \
src/rpc/*.h \
src/script/*.cpp \
src/script/*.h \
src/support/*.cpp \
src/support/*.h \
src/support/allocators/*.h \
src/test/*.cpp \
src/test/*.h \
src/wallet/*.cpp \
src/wallet/*.h \
src/wallet/test/*.cpp \
src/wallet/test/*.h \
src/zmq/*.cpp \
src/zmq/*.h
do
base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f
done
-END VERIFY SCRIPT-
2017-11-16 08:23:01 +13:00
practicalswift
64fb0ac016
Declare single-argument (non-converting) constructors "explicit"
...
In order to avoid unintended implicit conversions.
2017-08-16 16:33:25 +02:00
practicalswift
90d4d89230
scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<NULL\>/nullptr/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h src/qt/*/*.cpp src/qt/*/*.h src/wallet/*/*.cpp src/wallet/*/*.h src/support/allocators/*.h
sed -i 's/Prefer nullptr, otherwise SAFECOOKIE./Prefer NULL, otherwise SAFECOOKIE./g' src/torcontrol.cpp
sed -i 's/tor: Using nullptr authentication/tor: Using NULL authentication/g' src/torcontrol.cpp
sed -i 's/METHODS=nullptr/METHODS=NULL/g' src/test/torcontrol_tests.cpp src/torcontrol.cpp
sed -i 's/nullptr certificates/NULL certificates/g' src/qt/paymentserver.cpp
sed -i 's/"nullptr"/"NULL"/g' src/torcontrol.cpp src/test/torcontrol_tests.cpp
-END VERIFY SCRIPT-
2017-08-07 07:36:37 +02:00
Jorge Timón
5995735c5b
scripted-diff: Remove #include <boost/foreach.hpp>
...
-BEGIN VERIFY SCRIPT-
sed -i ':a;N;$!ba;s/#include <boost\/foreach.hpp>\n//' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp
-END VERIFY SCRIPT-
2017-06-22 03:48:52 +02:00
Pieter Wuille
1ad3d4e126
Merge #10502 : scripted-diff: Remove BOOST_FOREACH, Q_FOREACH and PAIRTYPE
...
1238f13cf
scripted-diff: Remove PAIRTYPE (Jorge Timón)
18dc3c396
scripted-diff: Remove Q_FOREACH (Jorge Timón)
7c00c2672
scripted-diff: Fully remove BOOST_FOREACH (Jorge Timón)
a5410ac5e
Small preparations for Q_FOREACH, PAIRTYPE and #include <boost/foreach.hpp> removal (Jorge Timón)
Tree-SHA512: d3ab4a173366402e7dcef31608977b757d4aa07abbbad2ee1bcbcfa311e994a4552f24e5a55272cb22c2dcf89a4b0495e02e9d9aceae4b08c0bab668f20e324c
2017-06-13 18:05:58 -07:00
practicalswift
49de096c2a
Remove unused Boost includes
2017-06-09 10:25:26 +02:00
Jorge Timón
7c00c26726
scripted-diff: Fully remove BOOST_FOREACH
...
-BEGIN VERIFY SCRIPT-
sed -i 's/BOOST_FOREACH *(\(.*\),/for (\1 :/' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp ;
-END VERIFY SCRIPT-
2017-06-05 20:10:50 +02:00
Jorge Timón
1c897fc3da
Missing includes
2017-04-13 02:31:44 +02:00
Jeremy Rubin
e2073424fd
Fix CCheckQueue IsIdle (potential) race condition and remove dangerous constructors.
2017-01-20 18:18:59 -05:00
MarcoFalke
fa24439ff3
Bump copyright headers to 2015
2015-12-13 18:08:39 +01:00
Corinne Dashjr
7e6d23b171
Bugfix: Grammar fixes
2015-05-01 11:21:27 +00:00
Wladimir J. van der Laan
fb6140b54b
Merge pull request #5721
...
cf008ac
Acquire CCheckQueue's lock to avoid race condition (Suhas Daftuar)
2015-02-06 16:51:39 +01:00
Suhas Daftuar
cf008ac8c3
Acquire CCheckQueue's lock to avoid race condition
...
This fixes a potential race condition in the CCheckQueueControl constructor,
which was looking directly at data in CCheckQueue without acquiring its lock.
Remove the now-unnecessary friendship for CCheckQueueControl
2015-02-03 08:53:08 -05:00
bikinibabe
ee932025c1
Changed pronouns for correctness and inclusivity
2015-01-31 17:38:28 -05:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
...
Github-Pull: #5494
Rebased-From: 15de949bb9
2014-12-19 19:55:32 +01:00
Michael Ford
fa94b9d562
Convert remaining comments in /src to doxygen format
...
- Update comments in checkpoints to be doxygen compatible
- Update comments in checkqueue to be doxygen compatible
- Update coins to be doxygen compatible
- Fix comment typo in crypter.h
- Update licenses/copyright dates
Closes #5325 #5184 #5183 #5182
2014-11-21 14:44:21 +01:00
Pavel Janík
84738627ce
Fix all header defines
2014-11-03 16:16:40 +01:00
Pieter Wuille
20e01b1a03
Apply clang-format on some infrequently-updated files
2014-09-19 19:21:46 +02:00
Philip Kaufmann
093303a887
add missing header end comments
...
- ensures a consistent usage in header files
- also add a blank line after the copyright header where missing
- also remove orphan new-lines at the end of some files
2014-08-28 22:25:21 +02:00
Brandon Dahler
51ed9ec971
Cleanup code using forward declarations.
...
Use misc methods of avoiding unnecesary header includes.
Replace int typedefs with int##_t from stdint.h.
Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h.
Normalize QT_VERSION ifs where possible.
Resolve some indirect dependencies as direct ones.
Remove extern declarations from .cpp files.
2013-11-10 09:36:28 -06:00
Gavin Andresen
319b11607f
Refactor: CTxMempool class to its own txmempool.{cpp,h}
2013-11-04 11:27:02 +10:00
Gavin Andresen
21eb5adadb
Port Thread* methods to boost::thread_group
2013-04-03 19:57:13 -04:00