fanquake
e1f543823b
build: replace header checks with __has_include
...
See https://en.cppreference.com/w/cpp/preprocessor/include .
2025-05-02 16:41:04 +01:00
Lőrinc
6c6b2442ed
build: Replace MAC_OSX macro with existing __APPLE__
...
Adopting `__APPLE__` aligns our project with broader industry practices, including those in prominent projects such as the Linux kernel (and even our own code).
See: https://sourceforge.net/p/predef/wiki/OperatingSystems/#macos
2024-10-24 12:29:26 +02:00
Sebastian Falbesoner
1786be7b4a
scripted-diff: drop config/ subdir for bitcoin-config.h, rename to bitcoin-build-config.h
...
Follow-up for PR #30856 , commit 0dd66251 .
-BEGIN VERIFY SCRIPT-
sed -i "s|config/bitcoin-config\.h|bitcoin-build-config.h|g" $(git grep -l config/bitcoin-config\.h)
sed -i "s|bitcoin-config\.h|bitcoin-build-config.h|g" $(git grep -l "bitcoin-config\.h" ./src ./test ./cmake)
git mv ./cmake/bitcoin-config.h.in ./cmake/bitcoin-build-config.h.in
-END VERIFY SCRIPT-
2024-10-10 12:22:12 +02:00
fanquake
17fe948cce
build: remove --enable-threadlocal
2024-05-21 10:29:51 +01:00
Vasil Dimov
d35ba1b3f1
util: avoid using thread_local variable that has a destructor
...
Store the thread name in a `thread_local` variable of type `char[]`
instead of `std::string`. This avoids calling the destructor when
the thread exits. This is a workaround for
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278701
For type-safety, return `std::string` from
`util::ThreadGetInternalName()` instead of `char[]`.
As a side effect of this change, we no longer store a reference
to a `thread_local` variable in `CLockLocation`. This was
dangerous because if the thread quits while the reference still
exists (in the global variable `lock_data`, see inside `GetLockData()`)
then the reference will become dangling.
2024-05-16 18:16:46 +02:00
MarcoFalke
dddd40ba82
scripted-diff: Add IWYU pragma keep to bitcoin-config.h includes
...
-BEGIN VERIFY SCRIPT-
perl -0777 -pi -e 's/#if defined\(HAVE_CONFIG_H\)\n#include <config\/bitcoin-config.h>.*\n#endif.*\n/#include <config\/bitcoin-config.h> \/\/ IWYU pragma: keep\n/g' $( git grep -l '#include <config/bitcoin-config.h>' )
-END VERIFY SCRIPT-
2024-05-01 08:33:04 +02: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
fanquake
e8fc236da7
refactor: add missing std:: includes to threadnames.cpp
2022-04-01 14:49:13 +01:00
fanquake
87f3c04cc5
doc: remove incorrect mention of PR_GET_NAME
...
By removing the whole comment. These #include // For comments are near impossible
to maintain, pollute diffs, and generally don't add a lot of value.
2022-04-01 14:48:47 +01:00
MarcoFalke
aaaaad6ac9
scripted-diff: Bump copyright of files changed in 2019
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2019-12-30 10:42:20 +13:00
practicalswift
084e17cebd
Remove unused includes
2019-10-15 22:56:43 +00:00
Wladimir J. van der Laan
07e4bdba3b
Don't rename main thread at process level
...
Set only the internal name.
Fixes #17036 for both `bitcoind` and `bitcoin-qt`.
2019-10-03 06:58:47 +02:00
Hennadii Stepanov
386ae0f691
util: Make thread names shorter
...
Thread names at the process level are limited by 15 characters. This
commit ensures that name 'b-httpworker.42' will not be cropped.
2019-09-30 22:23:31 +03:00
grim-trigger
1b05dff080
Fix portability issue with pthreads
...
This change resolves the following issue:
https://github.com/bitcoin/bitcoin/issues/15951
Only tested on OpenBSD 6.5/amd64
2019-05-07 00:17:33 +00:00
James O'Beirne
ae5f2b6a6c
threads: introduce util/threadnames, refactor thread naming
...
This work is prerequisite to attaching thread names to log lines and deadlock
debug utilities. This code allows setting of an "internal" threadname per
thread on platforms where thread_local is available.
This commit also moves RenameThread() out of a more general module and adds a
numeric suffix to disambiguate between threads with the same name. It
explicitly names a few main threads using the new util::ThreadRename().
2019-04-29 13:42:25 -04:00