Title: [130622] trunk/Source
Revision
130622
Author
commit-qu...@webkit.org
Date
2012-10-08 01:06:50 -0700 (Mon, 08 Oct 2012)

Log Message

Unreviewed, rolling out r130619.
http://trac.webkit.org/changeset/130619
https://bugs.webkit.org/show_bug.cgi?id=98634

Causes many crashes on the EFL bots. (Requested by rakuco on
#webkit).

Patch by Sheriff Bot <webkit.review....@gmail.com> on 2012-10-08

Source/WebCore:

* platform/RunLoop.h:
(RunLoop):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::wakeUpEvent):
(WebCore::RunLoop::wakeUp):

Source/WTF:

* wtf/efl/MainThreadEfl.cpp:
(WTF::pipeObject):
(WTF):
(WTF::monitorDispatchFunctions):
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (130621 => 130622)


--- trunk/Source/WTF/ChangeLog	2012-10-08 08:05:26 UTC (rev 130621)
+++ trunk/Source/WTF/ChangeLog	2012-10-08 08:06:50 UTC (rev 130622)
@@ -1,3 +1,19 @@
+2012-10-08  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r130619.
+        http://trac.webkit.org/changeset/130619
+        https://bugs.webkit.org/show_bug.cgi?id=98634
+
+        Causes many crashes on the EFL bots. (Requested by rakuco on
+        #webkit).
+
+        * wtf/efl/MainThreadEfl.cpp:
+        (WTF::pipeObject):
+        (WTF):
+        (WTF::monitorDispatchFunctions):
+        (WTF::initializeMainThreadPlatform):
+        (WTF::scheduleDispatchFunctionsOnMainThread):
+
 2012-10-08  Byungwoo Lee  <bw80....@samsung.com>
 
         [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop.

Modified: trunk/Source/WTF/wtf/efl/MainThreadEfl.cpp (130621 => 130622)


--- trunk/Source/WTF/wtf/efl/MainThreadEfl.cpp	2012-10-08 08:05:26 UTC (rev 130621)
+++ trunk/Source/WTF/wtf/efl/MainThreadEfl.cpp	2012-10-08 08:06:50 UTC (rev 130622)
@@ -41,18 +41,25 @@
 
 namespace WTF {
 
-static void monitorDispatchFunctions(void*)
+static OwnPtr<Ecore_Pipe>& pipeObject()
 {
+    DEFINE_STATIC_LOCAL(OwnPtr<Ecore_Pipe>, pipeObject, ());
+    return pipeObject;
+}
+
+static void monitorDispatchFunctions(void*, void*, unsigned int)
+{
     dispatchFunctionsFromMainThread();
 }
 
 void initializeMainThreadPlatform()
 {
+    pipeObject() = adoptPtr(ecore_pipe_add(monitorDispatchFunctions, 0));
 }
 
 void scheduleDispatchFunctionsOnMainThread()
 {
-    ecore_main_loop_thread_safe_call_async(monitorDispatchFunctions, 0);
+    ecore_pipe_write(pipeObject().get(), "", 0);
 }
 
 }

Modified: trunk/Source/WebCore/ChangeLog (130621 => 130622)


--- trunk/Source/WebCore/ChangeLog	2012-10-08 08:05:26 UTC (rev 130621)
+++ trunk/Source/WebCore/ChangeLog	2012-10-08 08:06:50 UTC (rev 130622)
@@ -1,3 +1,19 @@
+2012-10-08  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r130619.
+        http://trac.webkit.org/changeset/130619
+        https://bugs.webkit.org/show_bug.cgi?id=98634
+
+        Causes many crashes on the EFL bots. (Requested by rakuco on
+        #webkit).
+
+        * platform/RunLoop.h:
+        (RunLoop):
+        * platform/efl/RunLoopEfl.cpp:
+        (WebCore::RunLoop::RunLoop):
+        (WebCore::RunLoop::wakeUpEvent):
+        (WebCore::RunLoop::wakeUp):
+
 2012-10-08  Byungwoo Lee  <bw80....@samsung.com>
 
         [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop.

Modified: trunk/Source/WebCore/platform/RunLoop.h (130621 => 130622)


--- trunk/Source/WebCore/platform/RunLoop.h	2012-10-08 08:05:26 UTC (rev 130621)
+++ trunk/Source/WebCore/platform/RunLoop.h	2012-10-08 08:06:50 UTC (rev 130622)
@@ -167,7 +167,8 @@
     Vector<GRefPtr<GMainLoop> > m_runLoopMainLoops;
 #elif PLATFORM(EFL)
     bool m_initEfl;
-    static void wakeUpEvent(void* data);
+    OwnPtr<Ecore_Pipe> m_pipe;
+    static void wakeUpEvent(void* data, void*, unsigned int);
 #endif
 };
 

Modified: trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp (130621 => 130622)


--- trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp	2012-10-08 08:05:26 UTC (rev 130621)
+++ trunk/Source/WebCore/platform/efl/RunLoopEfl.cpp	2012-10-08 08:06:50 UTC (rev 130622)
@@ -34,6 +34,9 @@
 #include <wtf/OwnPtr.h>
 #include <wtf/PassOwnPtr.h>
 
+static const int ecorePipeMessageSize = 1;
+static const char wakupEcorePipeMessage[] = "W";
+
 namespace WebCore {
 
 RunLoop::RunLoop()
@@ -59,6 +62,7 @@
         goto errorEdje;
     }
 
+    m_pipe = adoptPtr(ecore_pipe_add(wakeUpEvent, this));
     m_initEfl = true;
 
     return;
@@ -91,14 +95,14 @@
     ecore_main_loop_quit();
 }
 
-void RunLoop::wakeUpEvent(void* data)
+void RunLoop::wakeUpEvent(void* data, void*, unsigned int)
 {
     static_cast<RunLoop*>(data)->performWork();
 }
 
 void RunLoop::wakeUp()
 {
-    ecore_main_loop_thread_safe_call_async(wakeUpEvent, this);
+    ecore_pipe_write(m_pipe.get(), wakupEcorePipeMessage, ecorePipeMessageSize);
 }
 
 RunLoop::TimerBase::TimerBase(RunLoop*)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to