Changeset 270746 in webkit
- Timestamp:
- Dec 12, 2020 9:43:50 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r270743 r270746 1 2020-12-12 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, reverting r270661. 4 5 Caused layout test failures and timeouts 6 7 Reverted changeset: 8 9 "Unreviewed, re-landing r270132." 10 https://bugs.webkit.org/show_bug.cgi?id=202874 11 https://trac.webkit.org/changeset/270661 12 1 13 2020-12-12 Jiewen Tan <jiewen_tan@apple.com> 2 14 … … 4904 4916 Reviewed by Carlos Garcia Campos. 4905 4917 4906 As of https://bugs.webkit.org/show_bug.cgi?id=213063, Darwin platforms 4907 use the RunLoop. Let's match them for consistency, and to delete some 4918 use the RunLoop. Let's match them for consistency, and to delete some 4908 4919 code. 4909 4920 -
trunk/Source/WTF/wtf/RunLoop.h
r270661 r270746 228 228 Lock m_loopLock; 229 229 #elif USE(COCOA_EVENT_LOOP) 230 static void performWork( CFMachPortRef, void* msg, CFIndex size, void* info);230 static void performWork(void*); 231 231 RetainPtr<CFRunLoopRef> m_runLoop; 232 232 RetainPtr<CFRunLoopSourceRef> m_runLoopSource; 233 RetainPtr<CFMachPortRef> m_port;234 233 #elif USE(GLIB_EVENT_LOOP) 235 234 void notify(Event, const char*); -
trunk/Source/WTF/wtf/cf/RunLoopCF.cpp
r270661 r270746 29 29 #include <CoreFoundation/CoreFoundation.h> 30 30 #include <dispatch/dispatch.h> 31 #include <mach/mach.h>32 31 #include <wtf/AutodrainedPool.h> 33 32 #include <wtf/SchedulePair.h> … … 42 41 } 43 42 44 void RunLoop::performWork( CFMachPortRef, void*, CFIndex, void* info)43 void RunLoop::performWork(void* context) 45 44 { 46 45 AutodrainedPool pool; 47 static_cast<RunLoop*>( info)->performWork();46 static_cast<RunLoop*>(context)->performWork(); 48 47 } 49 48 … … 51 50 : m_runLoop(CFRunLoopGetCurrent()) 52 51 { 53 CFMachPortContext context = { 0, this, nullptr, nullptr, nullptr }; 54 m_port = adoptCF(CFMachPortCreate(kCFAllocatorDefault, performWork, &context, nullptr)); 55 m_runLoopSource = adoptCF(CFMachPortCreateRunLoopSource(kCFAllocatorDefault, m_port.get(), 0)); 52 CFRunLoopSourceContext context = { 0, this, 0, 0, 0, 0, 0, 0, 0, performWork }; 53 m_runLoopSource = adoptCF(CFRunLoopSourceCreate(kCFAllocatorDefault, 0, &context)); 56 54 CFRunLoopAddSource(m_runLoop.get(), m_runLoopSource.get(), kCFRunLoopCommonModes); 57 55 } … … 59 57 RunLoop::~RunLoop() 60 58 { 61 CFMachPortInvalidate(m_port.get());62 59 CFRunLoopSourceInvalidate(m_runLoopSource.get()); 63 60 } … … 65 62 void RunLoop::wakeUp() 66 63 { 67 mach_msg_header_t header; 68 header.msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_COPY_SEND, 0); 69 header.msgh_size = sizeof(mach_msg_header_t); 70 header.msgh_remote_port = CFMachPortGetPort(m_port.get()); 71 header.msgh_local_port = MACH_PORT_NULL; 72 header.msgh_id = 0; 73 mach_msg_return_t result = mach_msg(&header, MACH_SEND_MSG | MACH_SEND_TIMEOUT, header.msgh_size, 0, MACH_PORT_NULL, 0, MACH_PORT_NULL); 74 RELEASE_ASSERT(result == MACH_MSG_SUCCESS || result == MACH_SEND_TIMED_OUT); 75 if (result == MACH_SEND_TIMED_OUT) 76 mach_msg_destroy(&header); 64 CFRunLoopSourceSignal(m_runLoopSource.get()); 65 CFRunLoopWakeUp(m_runLoop.get()); 77 66 } 78 67 -
trunk/Tools/ChangeLog
r270743 r270746 1 2020-12-12 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, reverting r270661. 4 5 Caused layout test failures and timeouts 6 7 Reverted changeset: 8 9 "Unreviewed, re-landing r270132." 10 https://bugs.webkit.org/show_bug.cgi?id=202874 11 https://trac.webkit.org/changeset/270661 12 1 13 2020-12-12 Jiewen Tan <jiewen_tan@apple.com> 2 14 -
trunk/Tools/TestWebKitAPI/cocoa/UtilitiesCocoa.mm
r270661 r270746 39 39 { 40 40 for (uint64_t i = 0; i < count; ++i) 41 while (CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, true) == kCFRunLoopRunHandledSource) { }41 [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantPast]]; 42 42 } 43 43
Note: See TracChangeset
for help on using the changeset viewer.