Auto merge of #23883 - servo:jdm-patch-45, r=asajeffrey

Drop webgl main thread data during shutdown.

Before this change I get a panic late in shutdown because we end up trying to communicate with webrender during TLS teardown.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because no tests on windows.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23883)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-07-29 11:48:54 -04:00 committed by GitHub
commit 7a570a7322
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -112,12 +112,14 @@ impl WebGLMainThread {
// Any context could be current when we start. // Any context could be current when we start.
self.thread_data.borrow_mut().bound_context_id = None; self.thread_data.borrow_mut().bound_context_id = None;
self.shut_down.set( let result = self
!self
.thread_data .thread_data
.borrow_mut() .borrow_mut()
.process(EventLoop::Nonblocking), .process(EventLoop::Nonblocking);
); if !result {
self.shut_down.set(true);
WEBGL_MAIN_THREAD.with(|thread_data| thread_data.borrow_mut().take());
}
} }
/// Returns the main GL thread if called from the main thread, /// Returns the main GL thread if called from the main thread,