aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/gpucomputepipeline.rs
diff options
context:
space:
mode:
authoryvt <i@yvt.jp>2021-06-20 23:29:16 +0900
committeryvt <i@yvt.jp>2021-06-21 00:07:26 +0900
commit602c02edd29029ab16e988e4bb5e2cddc1c1da5b (patch)
tree99537e08c963017bed83b35ebc83aa0001d32a0c /components/script/dom/gpucomputepipeline.rs
parent18c79cafac8c93a4521d1f9eeae646068dbaa36f (diff)
downloadservo-602c02edd29029ab16e988e4bb5e2cddc1c1da5b.tar.gz
servo-602c02edd29029ab16e988e4bb5e2cddc1c1da5b.zip
fix(bhm): deliver exit signal reliably (for real)
> However, as it turns out, `crossbeam-channel`'s channels don't drop > remaining messages until all associated senders *and* receivers are > dropped. This means the exit signal won't be delivered as long as > there's at least one `HangMonitorRegister` or > `BackgroundHangMonitorChan` maintaining a copy of the sender. To work > around this and guarantee a rapid delivery of the exit signal, the > sender is wrapped in `Arc`, and only the worker thread maintains a > strong reference, thus ensuring both the sender and receiver are > dropped as soon as the worker thread exits.
Diffstat (limited to 'components/script/dom/gpucomputepipeline.rs')
0 files changed, 0 insertions, 0 deletions