Title: [187952] releases/WebKitGTK/webkit-2.8/Source/WebCore
- Revision
- 187952
- Author
- carlo...@webkit.org
- Date
- 2015-08-05 02:04:40 -0700 (Wed, 05 Aug 2015)
Log Message
Merge r187586 - [GTK] Crashes when SoupSession is destroyed in exit handler
https://bugs.webkit.org/show_bug.cgi?id=145347
Reviewed by Carlos Garcia Campos.
Leak the default SoupSession with NeverDestroyed to avoid races at program exit.
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::defaultSession):
* platform/network/soup/SoupNetworkSession.h:
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog (187951 => 187952)
--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog 2015-08-05 08:58:11 UTC (rev 187951)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog 2015-08-05 09:04:40 UTC (rev 187952)
@@ -1,3 +1,16 @@
+2015-07-30 Michael Catanzaro <mcatanz...@igalia.com>
+
+ [GTK] Crashes when SoupSession is destroyed in exit handler
+ https://bugs.webkit.org/show_bug.cgi?id=145347
+
+ Reviewed by Carlos Garcia Campos.
+
+ Leak the default SoupSession with NeverDestroyed to avoid races at program exit.
+
+ * platform/network/soup/SoupNetworkSession.cpp:
+ (WebCore::SoupNetworkSession::defaultSession):
+ * platform/network/soup/SoupNetworkSession.h:
+
2015-07-29 Brady Eidson <beid...@apple.com>
Review feedback followup to: Crash in WebCore::DocumentLoader::stopLoadingForPolicyChange.
Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp (187951 => 187952)
--- releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp 2015-08-05 08:58:11 UTC (rev 187951)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/network/soup/SoupNetworkSession.cpp 2015-08-05 09:04:40 UTC (rev 187952)
@@ -37,6 +37,7 @@
#include "ResourceHandle.h"
#include <glib/gstdio.h>
#include <libsoup/soup.h>
+#include <wtf/NeverDestroyed.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuilder.h>
@@ -55,7 +56,7 @@
SoupNetworkSession& SoupNetworkSession::defaultSession()
{
- static SoupNetworkSession networkSession(soupCookieJar());
+ static NeverDestroyed<SoupNetworkSession> networkSession(soupCookieJar());
return networkSession;
}
Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/network/soup/SoupNetworkSession.h (187951 => 187952)
--- releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/network/soup/SoupNetworkSession.h 2015-08-05 08:58:11 UTC (rev 187951)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/network/soup/SoupNetworkSession.h 2015-08-05 09:04:40 UTC (rev 187952)
@@ -72,6 +72,8 @@
void setAcceptLanguages(const Vector<String>&);
private:
+ friend class NeverDestroyed<SoupNetworkSession>;
+
SoupNetworkSession(SoupCookieJar*);
SoupNetworkSession(SoupSession*);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes