Julian Brost
abe2dfa763
Replace EventuallyAtomic with AtomicOrLocked which falls back to a mutex
...
Apparently there was a reason for making the members of generated classes
atomic. However, this was only done for some types, others were still accessed
using non-atomic operations. For members of type T::Ptr (i.e. intrusive_ptr<T>),
this can result in a double free when multiple threads access the same variable
and at least one of them writes to the variable.
This commit makes use of std::atomic<T> for more T (it removes the additional
constraint sizeof(T) <= sizeof(void*)) and uses a type including a mutex for
load and store operations as a fallback.
2022-05-03 12:02:46 +02:00
..
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-06-29 17:52:25 +02:00
2020-02-11 17:26:15 +01:00
2019-02-25 14:48:22 +01:00
2021-03-10 16:29:40 +01:00
2019-07-12 14:36:55 +02:00
2019-07-12 14:36:55 +02:00
2022-05-03 12:02:46 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2022-03-02 16:39:37 +01:00
2022-03-02 16:39:37 +01:00
2019-02-25 14:48:22 +01:00
2022-02-25 15:23:49 +01:00
2019-08-13 15:05:47 +02:00
2022-05-03 12:02:46 +02:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-08-06 12:19:08 +02:00
2019-04-16 15:04:57 +02:00
2019-04-16 15:04:57 +02:00
2021-02-03 09:54:57 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-04-27 17:31:50 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2022-03-30 09:42:22 +02:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2019-02-25 14:48:22 +01:00
2021-11-12 13:34:57 +01:00
2019-02-25 14:48:22 +01:00
2021-03-01 14:07:09 +01:00
2021-03-01 14:06:47 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-03-10 16:29:40 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-10-21 17:10:51 +02:00
2019-02-25 14:48:22 +01:00
2021-03-10 16:29:40 +01:00
2021-03-10 16:29:40 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2022-03-02 16:39:44 +01:00
2022-03-02 16:39:44 +01:00
2021-09-23 16:08:11 +02:00
2021-09-23 16:08:11 +02:00
2021-09-23 16:08:11 +02:00
2019-10-21 17:10:51 +02:00
2021-04-30 15:49:52 +02:00
2019-02-25 14:48:22 +01:00
2019-05-24 16:25:32 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-06-21 15:15:54 +02:00
2021-06-21 15:15:54 +02:00
2021-06-23 16:57:44 +02:00
2019-10-21 17:10:51 +02:00
2019-02-25 14:48:22 +01:00
2019-10-21 17:10:51 +02:00
2019-10-21 17:10:51 +02:00
2022-02-22 17:51:43 +01:00
2019-10-21 16:12:35 +02:00
2019-02-25 14:48:22 +01:00
2019-05-29 14:17:36 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-03-23 13:13:47 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-03-18 17:56:13 +01:00
2019-04-17 18:26:29 +02:00
2019-04-17 18:26:29 +02:00
2019-04-17 18:26:29 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2022-02-22 17:51:43 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-07-27 17:57:19 +02:00
2021-01-14 12:00:11 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2019-10-21 17:10:51 +02:00
2019-02-25 14:48:22 +01:00
2019-10-21 17:10:51 +02:00
2019-02-25 14:48:22 +01:00
2021-03-10 16:29:40 +01:00
2019-11-08 11:13:26 +01:00
2019-05-01 12:09:24 +02:00
2019-06-28 09:07:33 +02:00
2020-12-25 23:27:08 +01:00
2020-12-25 23:27:08 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-02-03 09:54:57 +01:00
2021-03-01 14:07:11 +01:00
2021-03-01 14:07:11 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-03-25 11:30:02 +01:00
2021-03-18 17:56:13 +01:00
2021-02-03 09:54:57 +01:00
2021-03-18 17:56:13 +01:00
2021-02-03 09:54:57 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2020-12-22 16:27:38 +01:00
2020-12-22 16:27:38 +01:00
2021-09-15 10:15:22 +02:00
2021-09-15 10:15:22 +02:00
2019-02-25 14:48:22 +01:00
2019-02-26 11:25:44 +01:00
2019-09-09 15:27:57 +02:00
2019-08-14 17:12:59 +02:00
2019-08-14 17:12:59 +02:00
2021-02-03 09:54:57 +01:00
2019-04-24 11:42:54 +02:00
2021-08-13 10:58:10 +02:00
2020-07-29 15:02:48 +02:00
2022-04-11 15:29:05 +02:00
2022-04-11 11:02:39 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-03-10 16:29:40 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-05-29 14:17:36 +02:00
2021-03-23 09:54:01 +01:00
2021-06-17 16:21:01 +02:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2019-02-25 14:48:22 +01:00
2021-06-21 15:15:54 +02:00
2021-06-21 15:15:54 +02:00
2021-06-21 15:15:54 +02:00
2021-06-21 15:15:54 +02:00
2021-03-18 17:56:13 +01:00
2021-07-26 11:40:43 +02:00