merge-script
8804ec736a
Merge bitcoin/bitcoin#30095 : util: avoid using thread_local variable that has a destructor
...
d35ba1b3f1 util: avoid using thread_local variable that has a destructor (Vasil Dimov)
Pull request description:
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.
ACKs for top commit:
laanwj:
Code review ACK d35ba1b3f1
hebasto:
re-ACK d35ba1b3f1 .
theuni:
utACK d35ba1b3f1
Tree-SHA512: a2a3bc4401654d6e99db5b9c46a7051855f5a26886142298662e681b78dd581ff4c6bebe42f649b8e1fb8a78d569c6117302db2cd6362e884a22f2a5839b7d43
2024-05-21 10:25:56 +01:00
..
2024-05-16 11:16:08 -04:00
2024-05-01 08:33:04 +02:00
2024-03-01 13:13:07 -05:00
2023-11-16 11:36:22 +10:00
2024-02-27 18:28:19 +00:00
2024-05-15 13:50:25 +00:00
2024-04-17 17:24:05 -03:00
2024-05-01 08:33:04 +02:00
2024-04-16 17:47:43 +02:00
2023-11-28 12:35:50 -05:00
2024-05-16 11:28:46 +02:00
2022-09-29 16:43:30 +01:00
2023-01-31 18:48:50 +01:00
2024-04-12 14:27:45 +02:00
2024-05-17 15:50:56 -04:00
2024-05-03 12:36:56 -04:00
2024-05-15 15:09:56 -04:00
2024-05-15 18:41:15 +01:00
2024-05-16 10:18:04 -04:00
2024-05-03 11:38:14 -04:00
2024-04-04 12:05:16 +01:00
2024-02-13 20:10:44 +00:00
2024-05-17 15:50:56 -04:00
2024-04-16 16:35:12 +02:00
2024-05-16 18:16:46 +02:00
2024-05-21 10:05:09 +01:00
2024-04-16 14:14:37 -04:00
2023-10-12 11:27:19 +02:00
2023-12-15 15:20:54 +01:00
2024-04-07 14:04:45 +01:00
2024-05-01 08:33:04 +02:00
2023-09-05 10:13:25 +02:00
2023-09-12 12:14:31 -04:00
2023-10-25 22:46:55 +02:00
2024-04-10 17:01:27 +02:00
2024-05-15 15:09:56 -04:00
2024-01-15 16:19:53 -05:00
2023-11-21 17:37:25 +01:00
2023-11-21 17:37:25 +01:00
2023-05-04 20:57:51 +01:00
2023-11-02 14:09:27 -04:00
2023-11-02 14:09:27 -04:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-09-10 16:11:52 -04:00
2023-09-10 16:11:52 -04:00
2024-05-16 11:28:46 +02:00
2024-05-16 10:18:04 -04:00
2024-05-09 15:56:06 +02:00
2024-05-01 08:33:04 +02:00
2024-05-21 10:05:09 +01:00
2024-05-09 15:56:08 +02:00
2024-04-06 19:17:20 +01:00
2024-04-06 19:17:20 +01:00
2023-11-28 12:42:07 +01:00
2023-08-17 18:28:15 +02:00
2022-12-24 23:49:50 +00:00
2024-03-18 11:28:40 -05:00
2023-05-25 19:24:05 +02:00
2023-05-25 19:24:05 +02:00
2023-05-10 10:39:58 +02:00
2023-05-10 10:39:58 +02:00
2024-03-04 19:53:30 -05:00
2023-10-03 10:52:17 +01:00
2024-05-13 23:31:46 +02:00
2024-05-01 08:33:04 +02:00
2023-11-21 13:15:44 +00:00
2023-11-24 14:41:58 +00:00
2023-08-14 17:38:27 -04:00
2023-12-11 18:22:13 +01:00
2024-04-15 10:01:15 +02:00
2023-12-11 18:22:13 +01:00
2024-03-26 16:51:46 +00:00
2023-09-12 12:07:39 +02:00
2023-09-12 12:07:39 +02:00
2023-03-15 16:42:42 +01:00
2023-03-15 16:42:42 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-05-16 15:03:13 -04:00
2024-03-27 14:16:37 +00:00
2023-05-20 12:08:13 +02:00
2024-03-11 13:49:37 +01:00
2023-04-03 14:41:22 +01:00
2024-01-05 17:12:38 +01:00
2023-11-16 11:36:22 +10:00
2024-02-01 13:52:05 +01:00
2022-12-12 21:06:04 +00:00
2024-05-14 11:28:43 -04:00
2024-05-01 08:33:04 +02:00
2023-12-04 15:39:15 -04:00
2024-03-13 06:53:07 -04:00
2024-03-01 14:47:29 -05:00
2024-05-16 11:28:46 +02:00
2023-12-04 15:39:15 -04:00
2024-01-16 15:29:18 +01:00
2023-08-14 17:38:27 -04:00
2024-05-09 15:56:10 +02:00
2024-05-09 15:56:10 +02:00
2024-02-11 15:25:07 +01:00
2024-04-02 10:47:05 -04:00
2024-05-21 10:05:09 +01:00
2024-03-12 09:30:42 -03:00
2022-06-23 15:33:01 +02:00
2024-04-12 14:28:34 +02:00
2024-03-04 10:02:26 +00:00
2023-10-19 13:25:49 +01:00
2022-09-13 17:15:17 +01:00
2023-11-20 15:57:50 -03:00
2023-07-19 10:26:11 +01:00
2024-05-21 10:05:09 +01:00
2024-05-01 08:33:04 +02:00
2023-01-28 15:24:13 +00:00
2023-09-13 11:37:45 +01:00
2024-04-07 14:04:45 +01:00
2023-11-28 17:49:41 +01:00
2024-02-28 10:05:56 -03:00
2024-02-28 10:05:56 -03:00
2024-05-15 09:56:17 -04:00
2024-04-10 17:01:27 +02:00
2023-05-30 16:27:21 -03:00
2024-05-16 11:18:26 +08:00
2024-05-07 10:28:58 +08:00
2024-03-01 13:13:07 -05:00
2024-05-15 15:09:56 -04:00
2024-05-01 08:33:04 +02:00
2024-03-01 14:47:28 -05:00
2023-12-06 11:22:42 -05:00
2023-12-02 22:03:08 +01:00
2023-11-20 14:02:27 +01:00
2024-03-21 16:41:16 +01:00
2024-05-02 13:16:40 -06:00
2023-08-14 17:38:27 -04:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-01-18 19:29:34 +01:00
2024-01-23 10:25:16 -03:00
2024-05-15 15:09:56 -04:00
2023-11-30 11:28:19 +01:00
2023-11-28 12:42:07 +01:00
2024-05-14 10:24:31 +02:00
2024-05-14 10:24:31 +02:00
2024-05-01 08:33:04 +02:00
2024-02-26 16:13:12 +00:00
2024-05-01 08:33:04 +02:00
2024-05-01 08:33:04 +02:00
2023-01-12 13:42:44 +00:00
2024-02-15 14:43:14 +01:00
2024-02-16 17:12:52 +01:00
2024-05-15 15:09:56 -04:00
2023-11-28 12:42:07 +01:00
2023-12-22 09:58:19 +01:00
2024-04-01 14:37:24 -04:00
2024-04-01 14:37:24 -04:00
2024-05-16 18:16:46 +02:00
2023-10-26 15:02:13 -04:00
2023-01-31 11:50:10 +00:00
2024-01-10 14:11:32 -05:00
2023-08-17 23:58:47 -05:00
2023-09-05 11:37:35 +01:00
2023-08-01 15:27:33 +02:00
2024-05-06 20:34:10 +00:00
2024-05-06 20:34:10 +00:00
2024-05-15 09:56:17 -04:00
2024-05-14 10:32:28 +01:00
2023-12-07 11:06:01 +01:00
2022-12-10 14:34:44 -06:00
2023-06-28 15:12:12 -04:00
2023-11-16 11:36:22 +10:00
2024-05-17 15:50:56 -04:00
2024-05-01 13:34:37 +01:00
2024-02-16 17:12:52 +01:00
2024-02-16 17:12:52 +01:00
2023-01-03 19:31:29 -06:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2024-05-07 14:14:03 -04:00
2024-05-01 14:44:57 +01:00