RESOLVED FIXED 261139
assertIsCurrent(WorkQueue::main()) will never assert
https://bugs.webkit.org/show_bug.cgi?id=261139
Summary assertIsCurrent(WorkQueue::main()) will never assert
Jean-Yves Avenard [:jya]
Reported 2023-09-05 02:31:24 PDT
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
Radar WebKit Bug Importer
Comment 1 2023-09-05 02:41:06 PDT
Jean-Yves Avenard [:jya]
Comment 2 2023-09-05 06:06:33 PDT
EWS
Comment 3 2023-09-05 11:17:17 PDT
Committed 267640@main (0945d4c2ea7e): <https://commits.webkit.org/267640@main> Reviewed commits have been landed. Closing PR #17432 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.