diff options
author | yvt <i@yvt.jp> | 2021-06-20 10:44:40 +0900 |
---|---|---|
committer | yvt <i@yvt.jp> | 2021-06-20 13:09:26 +0900 |
commit | 18c79cafac8c93a4521d1f9eeae646068dbaa36f (patch) | |
tree | b683f987de51a707347a33def43e1efa3d1378b7 /components/webrender_traits | |
parent | 2eec1e69ea69e2507ebab88b40f22737e26e4674 (diff) | |
download | servo-18c79cafac8c93a4521d1f9eeae646068dbaa36f.tar.gz servo-18c79cafac8c93a4521d1f9eeae646068dbaa36f.zip |
fix(bhm): deliver exit signal reliably when component registration and signal submission coincide
> There's a race condition between the reception of
> `BackgroundHangMonitorControlMsg::Exit` and `MonitoredComponentMsg::
> Register`. When the worker receives `Exit`, it stops receiving
> messages, and any remaining messages (including the
> `MonitoredComponentMsg::Register` we sent) in the channel are dropped.
> Wrapping `exit_signal` with this RAII wrapper ensures the exit signal
> is delivered even in such cases.
This should (hopefully) eliminate the intermittent hang-ups in the test
case `test_hang_monitoring_exit_signal` for good.
Diffstat (limited to 'components/webrender_traits')
0 files changed, 0 insertions, 0 deletions