Robin Gareus
7580d6aba7
Fix race condition when ~Signal and ~ScopedConnection run concurrently
Previously a deadlock was possible:
Thread 1:
~ScopedConnection ()
-> Connection::disconnect ()
takes Connection::_mutex <<<< 1
-> _signal->disconnect (shared_from_this ())
-> Signal::disconnect ()
takes Signal::_mutex <<<< 2
Thread 2:
~Signal ()
takes Signal::_mutex <<<< 2
-> Connection::signal_going_away ()
takes Connection::_mutex <<<< 1
2021-11-20 23:14:59 +01:00
..
2021-11-20 23:14:42 +01:00
2021-06-10 03:17:49 +02:00
2021-06-12 21:16:18 +02:00
2021-07-23 01:37:46 +02:00
2021-11-15 19:12:00 +01:00
2021-11-09 08:49:21 -07:00
2021-11-13 15:54:11 -06:00
2021-07-03 19:07:25 +02:00
2021-09-27 16:28:44 +02:00
2021-09-25 00:01:23 +02:00
2021-05-02 16:36:30 +02:00
2021-08-13 12:51:28 -06:00
2021-08-13 12:51:29 -06:00
2021-11-20 23:14:59 +01:00
2021-05-30 20:09:35 -04:00
2021-11-17 15:57:54 -07:00
2021-11-17 15:59:03 -07:00
2021-04-07 01:46:02 +02:00
2021-03-01 22:14:38 +01:00
2021-11-14 23:11:19 +01:00
2021-09-25 00:01:23 +02:00
2021-03-30 01:29:28 +02:00