Vojin Ilic
b8d1792fa0
Fix hang in destructor
...
Consider following situation. A class owns a timer. In destructor of that class we call .cancel() asynchronous on timer before it's destruction.
Now timer is executing cancel in it's own internal thread, while it's doing that destructor of timer is called from owner's destructor. Timer destructor enqueues stop notification. If that enqueue is happening just after while loop from cancel notification, stop notification is gonna be dropped and timer will never stop.
Fix: Add new method in TimedNotificationQueue which will return a notification regardless of the time it needs to be executed.
Get number of pending tasks in the queue. Flush out that many notifications from queue while taking special consideration of pending Stop and Cancel notifications.
Add test for new method in TimedNotificationQueue and fix cancel all tests to actually check if notification got executed.
fixes #3986
2023-04-04 12:08:49 +02:00
..
2022-10-13 11:50:53 +02:00
2021-06-26 06:30:49 +02:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-08-14 07:39:03 -05:00
2022-07-07 04:18:20 -05:00
2019-07-01 17:51:38 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-26 06:54:56 -05:00
2023-03-18 01:28:25 -05:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-06-10 19:56:29 -05:00
2020-01-09 10:08:09 +01:00
2020-01-09 10:08:09 +01:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2023-03-20 01:50:15 -05:00
2023-03-20 01:50:15 -05:00
2022-07-03 15:55:36 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-18 05:21:33 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-24 10:41:35 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-11-09 12:42:13 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2018-03-06 18:26:49 +01:00
2022-04-18 17:58:31 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2017-09-09 11:14:06 +02:00
2020-01-09 10:08:09 +01:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-11-08 14:37:53 +01:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-19 17:58:13 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2021-06-14 18:59:56 +02:00
2019-11-30 13:38:03 +01:00
2022-07-07 04:18:20 -05:00
2019-11-30 13:38:03 +01:00
2022-07-07 04:18:20 -05:00
2023-03-18 01:28:25 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-08-06 22:24:41 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2021-06-14 22:58:09 +02:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-04-26 22:14:09 -05:00
2017-11-09 12:42:13 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-05-28 20:50:29 -05:00
2017-09-09 11:14:06 +02:00
2020-01-09 10:08:09 +01:00
2023-03-18 05:21:32 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2020-02-04 09:45:26 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2021-04-14 20:12:17 +02:00
2022-07-07 04:18:20 -05:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2023-03-22 09:11:13 -05:00
2022-07-07 04:18:20 -05:00
2023-03-17 15:24:57 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2023-03-17 15:24:57 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 02:43:52 -05:00
2021-06-15 13:30:51 +02:00
2022-07-07 04:18:20 -05:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2020-01-09 10:08:09 +01:00
2018-02-13 08:07:45 -06:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-08-02 18:19:40 +02:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2023-01-23 12:23:03 +01:00
2020-01-22 08:23:36 +01:00
2023-01-23 12:23:03 +01:00
2023-01-23 12:23:03 +01:00
2023-01-23 12:23:03 +01:00
2023-01-23 12:23:03 +01:00
2023-03-18 01:28:25 -05:00
2021-11-05 14:58:40 +01:00
2017-09-09 11:14:06 +02:00
2020-01-09 10:08:09 +01:00
2020-01-04 11:28:24 +01:00
2022-07-07 04:18:20 -05:00
2022-07-06 10:46:38 -05:00
2023-03-18 01:28:25 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-08-06 22:28:45 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-05-29 21:52:39 -05:00
2019-08-17 10:04:48 +02:00
2019-08-17 10:04:48 +02:00
2019-08-17 10:04:48 +02:00
2019-08-17 10:04:48 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2022-06-28 12:14:36 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-10-31 16:01:51 +01:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2021-04-12 20:15:30 +02:00
2021-06-14 21:55:13 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-26 06:54:56 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2017-09-09 11:14:06 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-09 10:08:09 +01:00
2022-07-07 04:18:20 -05:00
2022-07-26 06:54:56 -05:00
2022-07-26 06:54:56 -05:00
2022-07-26 06:54:56 -05:00
2022-07-26 06:54:56 -05:00
2022-07-26 06:54:56 -05:00
2022-07-07 04:18:20 -05:00
2021-04-14 19:13:17 +02:00
2022-07-07 04:18:20 -05:00
2023-04-04 12:08:49 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-03-28 12:57:16 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2023-03-18 01:28:47 -05:00
2022-08-14 07:39:03 -05:00
2022-07-06 10:46:38 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2023-01-24 00:42:43 -06:00
2022-07-03 15:12:23 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2020-01-21 21:30:48 +01:00
2022-07-07 04:18:20 -05:00
2022-08-10 15:32:29 +02:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-07-07 04:18:20 -05:00
2022-11-10 19:15:55 +01:00
2022-11-10 19:15:55 +01:00