Title: [165467] trunk/Source
Revision
165467
Author
[email protected]
Date
2014-03-12 07:01:26 -0700 (Wed, 12 Mar 2014)

Log Message

[GTK] [Stable] deadlock in gobject introspection
https://bugs.webkit.org/show_bug.cgi?id=125651

Reviewed by Sergio Villar Senin.

Source/WebCore:

Make the default SoupNetworkSession a destroyable object to ensure
the wrapped SoupSession is finalized when the process finishes. This
is important because soup cancels any ongoing connection when finalized.

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::defaultSession): Do not use NeverDestroyed.
* platform/network/soup/SoupNetworkSession.h:

Source/WebKit/gtk:

* webkit/webkitglobals.cpp:
(webkitExit): Dot not try to unref the default network session, it
will be finalized automatically when the process finishes.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (165466 => 165467)


--- trunk/Source/WebCore/ChangeLog	2014-03-12 11:11:06 UTC (rev 165466)
+++ trunk/Source/WebCore/ChangeLog	2014-03-12 14:01:26 UTC (rev 165467)
@@ -1,3 +1,18 @@
+2014-03-12  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] [Stable] deadlock in gobject introspection
+        https://bugs.webkit.org/show_bug.cgi?id=125651
+
+        Reviewed by Sergio Villar Senin.
+
+        Make the default SoupNetworkSession a destroyable object to ensure
+        the wrapped SoupSession is finalized when the process finishes. This
+        is important because soup cancels any ongoing connection when finalized.
+
+        * platform/network/soup/SoupNetworkSession.cpp:
+        (WebCore::SoupNetworkSession::defaultSession): Do not use NeverDestroyed.
+        * platform/network/soup/SoupNetworkSession.h:
+
 2014-03-12  Antti Koivisto  <[email protected]>
 
         Don't use NodeRenderingTraversal for pseudo elements

Modified: trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp (165466 => 165467)


--- trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp	2014-03-12 11:11:06 UTC (rev 165466)
+++ trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp	2014-03-12 14:01:26 UTC (rev 165467)
@@ -50,7 +50,7 @@
 
 SoupNetworkSession& SoupNetworkSession::defaultSession()
 {
-    static NeverDestroyed<SoupNetworkSession> networkSession(soupCookieJar());
+    static SoupNetworkSession networkSession(soupCookieJar());
     return networkSession;
 }
 

Modified: trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.h (165466 => 165467)


--- trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.h	2014-03-12 11:11:06 UTC (rev 165466)
+++ trunk/Source/WebCore/platform/network/soup/SoupNetworkSession.h	2014-03-12 14:01:26 UTC (rev 165467)
@@ -26,7 +26,6 @@
 #ifndef SoupNetworkSession_h
 #define SoupNetworkSession_h
 
-#include <wtf/NeverDestroyed.h>
 #include <wtf/Noncopyable.h>
 #include <wtf/Vector.h>
 #include <wtf/gobject/GRefPtr.h>
@@ -40,7 +39,6 @@
 
 class SoupNetworkSession {
     WTF_MAKE_NONCOPYABLE(SoupNetworkSession); WTF_MAKE_FAST_ALLOCATED;
-    friend class NeverDestroyed<SoupNetworkSession>;
 public:
     ~SoupNetworkSession();
 

Modified: trunk/Source/WebKit/gtk/ChangeLog (165466 => 165467)


--- trunk/Source/WebKit/gtk/ChangeLog	2014-03-12 11:11:06 UTC (rev 165466)
+++ trunk/Source/WebKit/gtk/ChangeLog	2014-03-12 14:01:26 UTC (rev 165467)
@@ -1,3 +1,14 @@
+2014-03-12  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] [Stable] deadlock in gobject introspection
+        https://bugs.webkit.org/show_bug.cgi?id=125651
+
+        Reviewed by Sergio Villar Senin.
+
+        * webkit/webkitglobals.cpp:
+        (webkitExit): Dot not try to unref the default network session, it
+        will be finalized automatically when the process finishes.
+
 2014-03-07  Zan Dobersek  <[email protected]>
 
         Move GTK WebKit1 code to std::unique_ptr

Modified: trunk/Source/WebKit/gtk/webkit/webkitglobals.cpp (165466 => 165467)


--- trunk/Source/WebKit/gtk/webkit/webkitglobals.cpp	2014-03-12 11:11:06 UTC (rev 165466)
+++ trunk/Source/WebKit/gtk/webkit/webkitglobals.cpp	2014-03-12 14:01:26 UTC (rev 165467)
@@ -251,7 +251,6 @@
 
 static void webkitExit()
 {
-    g_object_unref(webkit_get_default_session());
 #if ENABLE(ICONDATABASE)
     g_object_unref(webkit_get_favicon_database());
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to