Paul Davis
ebda6bf0c5
rework PBD::Signal emission code to avoid memory allocation
...
We now use a stack allocator when making a copy of current connection state at
the start of the signal emission process, and when collecting results from
signal handlers in the case of a non-void return type.
These changes also include a functionally neutral reworking of how the connection
state copy is made and then used to check that a connection/handler is still
valid mid-emission.
Heap allocation will still happen if a signal has more than (currently) 512
connections. A little experimentation reveals that the maximum number of
connections is typically nroutes+1, so 512 seems like a reasonable choice
for this.
2025-04-16 09:09:57 -06:00
..
2021-05-05 17:50:41 +01:00
2024-10-20 03:11:53 +02:00
2025-04-16 09:09:57 -06:00
2024-10-19 03:47:21 +02:00
2024-10-19 03:47:21 +02:00
2019-08-03 15:53:17 +02:00
2024-08-29 23:08:42 +02:00
2019-08-03 15:53:17 +02:00
2022-12-08 02:15:29 +01:00
2023-08-07 16:33:16 -06:00
2023-01-27 15:13:27 -07:00
2024-10-19 03:47:21 +02:00
2023-01-27 15:13:27 -07:00
2025-02-01 11:25:42 +01:00
2022-05-02 00:02:33 +02:00
2022-04-23 23:12:13 +02:00
2020-03-26 10:40:36 +00:00
2019-08-03 15:53:17 +02:00
2024-09-28 03:15:36 +02:00
2025-02-11 10:23:00 -07:00
2024-10-19 03:47:21 +02:00
2020-03-18 18:16:29 +01:00
2019-08-03 15:53:17 +02:00
2019-08-03 15:53:17 +02:00
2020-10-13 21:27:16 +02:00
2023-08-30 16:06:14 -06:00
2019-08-03 15:53:17 +02:00
2024-09-28 03:16:02 +02:00
2025-04-05 18:23:28 +02:00
2023-02-09 20:54:46 +01:00
2024-10-19 03:47:21 +02:00
2024-10-17 07:44:31 -06:00
2019-08-03 15:53:17 +02:00
2024-10-19 03:47:21 +02:00
2016-12-04 15:15:11 -05:00
2019-08-03 15:53:17 +02:00
2019-08-03 15:53:17 +02:00
2020-10-15 03:55:42 +02:00
2021-06-27 12:48:29 -06:00
2019-08-03 15:53:17 +02:00
2024-10-19 01:04:14 +02:00
2019-08-03 15:53:17 +02:00
2021-06-26 18:47:08 -06:00
2021-08-16 04:59:10 +02:00
2023-03-24 14:19:15 -06:00
2023-05-19 00:35:20 +02:00
2023-08-30 16:06:13 -06:00
2024-10-19 03:47:21 +02:00
2022-12-11 11:54:03 -05:00
2024-11-17 20:20:23 +01:00
2019-08-03 15:53:17 +02:00
2020-12-02 21:34:52 +01:00
2022-11-13 03:01:50 +01:00
2019-08-03 15:53:17 +02:00
2019-08-03 15:53:17 +02:00
2019-08-03 15:53:17 +02:00
2025-02-11 10:23:01 -07:00
2024-10-19 03:47:21 +02:00
2025-01-29 17:40:57 -07:00
2019-08-03 15:53:17 +02:00
2022-02-01 15:47:54 +01:00
2019-08-03 15:53:17 +02:00
2024-09-28 03:16:02 +02:00
2020-10-13 21:27:16 +02:00
2019-08-03 15:53:17 +02:00
2021-06-28 14:47:48 -06:00
2022-06-22 13:31:08 -06:00
2022-04-08 21:38:00 +02:00
2024-10-19 03:47:21 +02:00
2023-04-26 17:25:24 +02:00
2019-08-03 15:53:17 +02:00
2022-09-10 10:20:37 +01:00
2019-08-03 15:53:17 +02:00
2021-10-11 18:20:07 +02:00
2021-06-26 18:40:44 -06:00
2024-10-19 21:54:34 +02:00
2023-11-25 00:30:04 +01:00