Changeset 130619 in webkit
- Timestamp:
- Oct 8, 2012, 12:20:17 AM (14 years ago)
- Location:
- trunk/Source
- Files:
-
- 5 edited
-
WTF/ChangeLog (modified) (1 diff)
-
WTF/wtf/efl/MainThreadEfl.cpp (modified) (2 diffs)
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/platform/RunLoop.h (modified) (1 diff)
-
WebCore/platform/efl/RunLoopEfl.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r130612 r130619 1 2012-10-08 Byungwoo Lee <bw80.lee@samsung.com> 2 3 [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop. 4 https://bugs.webkit.org/show_bug.cgi?id=98505 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Instead of ecore_pipe_write(), 9 use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop. 10 11 According to the EFL API document, this function is designed to dispatch 12 a function on ecore main loop by avoiding dead lock or race condition. 13 With this function, webkit doesn't need to maintain ecore pipe also. 14 15 * wtf/efl/MainThreadEfl.cpp: 16 (WTF::monitorDispatchFunctions): 17 (WTF::initializeMainThreadPlatform): 18 (WTF::scheduleDispatchFunctionsOnMainThread): 19 1 20 2012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 2 21 -
trunk/Source/WTF/wtf/efl/MainThreadEfl.cpp
r111778 r130619 42 42 namespace WTF { 43 43 44 static OwnPtr<Ecore_Pipe>& pipeObject() 45 { 46 DEFINE_STATIC_LOCAL(OwnPtr<Ecore_Pipe>, pipeObject, ()); 47 return pipeObject; 48 } 49 50 static void monitorDispatchFunctions(void*, void*, unsigned int) 44 static void monitorDispatchFunctions(void*) 51 45 { 52 46 dispatchFunctionsFromMainThread(); … … 55 49 void initializeMainThreadPlatform() 56 50 { 57 pipeObject() = adoptPtr(ecore_pipe_add(monitorDispatchFunctions, 0));58 51 } 59 52 60 53 void scheduleDispatchFunctionsOnMainThread() 61 54 { 62 ecore_ pipe_write(pipeObject().get(), "", 0);55 ecore_main_loop_thread_safe_call_async(monitorDispatchFunctions, 0); 63 56 } 64 57 -
trunk/Source/WebCore/ChangeLog
r130616 r130619 1 2012-10-08 Byungwoo Lee <bw80.lee@samsung.com> 2 3 [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop. 4 https://bugs.webkit.org/show_bug.cgi?id=98505 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Instead of ecore_pipe_write(), 9 use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop. 10 11 According to the EFL API document, this function is designed to dispatch 12 a function on ecore main loop by avoiding dead lock or race condition. 13 With this function, webkit doesn't need to maintain ecore pipe also. 14 15 No new tests. The function to wakeup main loop is changed. 16 17 * platform/RunLoop.h: 18 (RunLoop): 19 * platform/efl/RunLoopEfl.cpp: 20 (WebCore::RunLoop::RunLoop): 21 (WebCore::RunLoop::wakeUpEvent): 22 (WebCore::RunLoop::wakeUp): 23 1 24 2012-10-07 Arpita Bahuguna <arpitabahuguna@gmail.com> 2 25 -
trunk/Source/WebCore/platform/RunLoop.h
r123716 r130619 168 168 #elif PLATFORM(EFL) 169 169 bool m_initEfl; 170 OwnPtr<Ecore_Pipe> m_pipe; 171 static void wakeUpEvent(void* data, void*, unsigned int); 170 static void wakeUpEvent(void* data); 172 171 #endif 173 172 }; -
trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp
r129872 r130619 35 35 #include <wtf/PassOwnPtr.h> 36 36 37 static const int ecorePipeMessageSize = 1;38 static const char wakupEcorePipeMessage[] = "W";39 40 37 namespace WebCore { 41 38 … … 63 60 } 64 61 65 m_pipe = adoptPtr(ecore_pipe_add(wakeUpEvent, this));66 62 m_initEfl = true; 67 63 … … 96 92 } 97 93 98 void RunLoop::wakeUpEvent(void* data , void*, unsigned int)94 void RunLoop::wakeUpEvent(void* data) 99 95 { 100 96 static_cast<RunLoop*>(data)->performWork(); … … 103 99 void RunLoop::wakeUp() 104 100 { 105 ecore_ pipe_write(m_pipe.get(), wakupEcorePipeMessage, ecorePipeMessageSize);101 ecore_main_loop_thread_safe_call_async(wakeUpEvent, this); 106 102 } 107 103
Note:
See TracChangeset
for help on using the changeset viewer.