Robin Burchell
dea7f937bf
Scheduler: Allow reentry into block()
...
With the presence of signal handlers, it is possible that a thread might
be blocked multiple times. Picture for instance a signal handler using
read(), or wait() while the thread is already blocked elsewhere before
the handler is invoked.
To fix this, we turn m_blocker into a chain of handlers. Each block()
call now prepends to the list, and unblocking will only consider the
most recent (first) blocker in the chain.
Fixes #309
2019-07-21 12:42:22 +02:00
..
2019-07-09 15:04:45 +02:00
2019-06-02 09:53:42 +02:00
2019-07-20 12:15:24 +02:00
2019-07-19 13:19:47 +02:00
2019-07-20 12:15:24 +02:00
2019-07-03 21:20:13 +02:00
2019-07-19 17:01:16 +02:00
2019-03-27 13:02:29 +01:00
2019-06-30 10:41:26 +02:00
2019-06-07 20:02:01 +02:00
2019-06-04 07:15:44 -07:00
2019-07-03 16:57:37 +02:00
2019-07-16 21:41:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-06-04 07:14:40 -07:00
2019-07-20 12:15:24 +02:00
2019-05-17 21:59:48 +02:00
2019-07-13 08:00:24 +02:00
2019-07-09 15:04:43 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-06-04 07:08:07 -07:00
2019-06-07 11:43:58 +02:00
2019-06-22 22:45:16 +02:00
2019-06-14 06:24:02 +02:00
2019-06-22 21:21:57 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-04-01 21:43:07 +02:00
2019-07-03 21:20:13 +02:00
2019-07-18 10:18:16 +02:00
2019-07-17 15:51:51 +02:00
2019-04-30 14:47:22 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-07-21 09:59:17 +02:00
2019-07-21 09:59:17 +02:00
2019-07-03 21:20:13 +02:00
2019-07-09 15:04:45 +02:00
2019-07-03 21:20:13 +02:00
2019-05-28 17:31:20 +02:00
2019-07-13 08:00:24 +02:00
2019-07-21 12:42:22 +02:00
2019-07-03 21:20:13 +02:00
2019-07-20 12:15:11 +02:00
2019-07-20 12:15:11 +02:00
2019-07-03 21:20:13 +02:00
2019-07-03 21:20:13 +02:00
2019-06-04 07:15:44 -07:00
2019-07-21 09:59:17 +02:00
2019-07-21 09:59:17 +02:00
2019-07-21 12:42:22 +02:00
2019-07-21 12:42:22 +02:00
2019-07-14 11:35:49 +02:00