Bug 261139
| Summary: | assertIsCurrent(WorkQueue::main()) will never assert | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Component: | Web Template Framework | Assignee: | Jean-Yves Avenard [:jya] <jean-yves.avenard> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Jean-Yves Avenard [:jya]
WorkQueue::assertIsCurrent() is broken in both the Cocoa and the Generic implementation.
In WorkQueueGeneric.cpp, it uses a ThreadLikeAssertion constructed from m_threadID which isn't initialised when using the main's RunLoop [1]
And in WorkQueueCocoa.cpp, the ThreadLikeAssertion always uses the uid of the current thread [2], as such, the ThreadLikeAssertion::isCurrent() will always return true.
[1]https://searchfox.org/wubkat/rev/68e96f24aae90f5a0a5e0c56c932c93616766cc7/Source/WTF/wtf/generic/WorkQueueGeneric.cpp#91-94
[2]https://searchfox.org/wubkat/rev/68e96f24aae90f5a0a5e0c56c932c93616766cc7/Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp#114-120
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/114970446>
Jean-Yves Avenard [:jya]
Pull request: https://github.com/WebKit/WebKit/pull/17432
EWS
Committed 267640@main (0945d4c2ea7e): <https://commits.webkit.org/267640@main>
Reviewed commits have been landed. Closing PR #17432 and removing active labels.