pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/net/libsoup24 add patch from upstream to avoid excessi...
details: https://anonhg.NetBSD.org/pkgsrc/rev/6d79d8e3bb7c
branches: trunk
changeset: 598734:6d79d8e3bb7c
user: drochner <drochner%pkgsrc.org@localhost>
date: Sun Jan 29 10:41:19 2012 +0000
description:
add patch from upstream to avoid excessive use of glib2 "cancellables",
this is a problem with the glib2-2.30 implementation of the latter
which runs out of file descriptors easily
bump PKGREV
diffstat:
net/libsoup24/Makefile | 3 +-
net/libsoup24/distinfo | 3 +-
net/libsoup24/patches/patch-aa | 78 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 82 insertions(+), 2 deletions(-)
diffs (106 lines):
diff -r 54f949a3cbfd -r 6d79d8e3bb7c net/libsoup24/Makefile
--- a/net/libsoup24/Makefile Sun Jan 29 10:15:56 2012 +0000
+++ b/net/libsoup24/Makefile Sun Jan 29 10:41:19 2012 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.34 2011/09/12 18:04:51 drochner Exp $
+# $NetBSD: Makefile,v 1.35 2012/01/29 10:41:19 drochner Exp $
DISTNAME= libsoup-2.34.3
PKGNAME= ${DISTNAME:S/libsoup/libsoup24/}
+PKGREVISION= 1
CATEGORIES= net gnome
MASTER_SITES= ${MASTER_SITE_GNOME:=sources/libsoup/2.34/}
EXTRACT_SUFX= .tar.bz2
diff -r 54f949a3cbfd -r 6d79d8e3bb7c net/libsoup24/distinfo
--- a/net/libsoup24/distinfo Sun Jan 29 10:15:56 2012 +0000
+++ b/net/libsoup24/distinfo Sun Jan 29 10:41:19 2012 +0000
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.24 2011/09/12 18:04:51 drochner Exp $
+$NetBSD: distinfo,v 1.25 2012/01/29 10:41:19 drochner Exp $
SHA1 (libsoup-2.34.3.tar.bz2) = ea2354aa01f52ce3c9e40175c4d5ec9f9d46c039
RMD160 (libsoup-2.34.3.tar.bz2) = 14df1e875c91e7be163ceadd801d043e82e80e03
Size (libsoup-2.34.3.tar.bz2) = 697132 bytes
+SHA1 (patch-aa) = 83207f05095bceb280357c0a9ebb4ab0a9e97770
diff -r 54f949a3cbfd -r 6d79d8e3bb7c net/libsoup24/patches/patch-aa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/libsoup24/patches/patch-aa Sun Jan 29 10:41:19 2012 +0000
@@ -0,0 +1,78 @@
+$NetBSD: patch-aa,v 1.5 2012/01/29 10:41:19 drochner Exp $
+
+gnome bug #658743
+
+--- libsoup/soup-http-input-stream.c.orig 2011-03-27 15:59:43.000000000 +0000
++++ libsoup/soup-http-input-stream.c
+@@ -45,7 +45,7 @@ typedef struct {
+ goffset offset;
+
+ GCancellable *cancellable;
+- GSource *cancel_watch;
++ guint cancel_id;
+ SoupHTTPInputStreamCallback got_headers_cb;
+ SoupHTTPInputStreamCallback got_chunk_cb;
+ SoupHTTPInputStreamCallback finished_cb;
+@@ -310,19 +310,19 @@ soup_http_input_stream_finished (SoupMes
+ priv->finished_cb (stream);
+ }
+
+-static gboolean
+-soup_http_input_stream_cancelled (GIOChannel *chan, GIOCondition condition,
+- gpointer stream)
++static void
++soup_http_input_stream_cancelled (GCancellable *cancellable,
++ gpointer user_data)
+ {
++ SoupHTTPInputStream *stream = user_data;
+ SoupHTTPInputStreamPrivate *priv = SOUP_HTTP_INPUT_STREAM_GET_PRIVATE (stream);
+
+- priv->cancel_watch = NULL;
++ g_signal_handler_disconnect (cancellable, priv->cancel_id);
++ priv->cancel_id = 0;
+
+ soup_session_pause_message (priv->session, priv->msg);
+ if (priv->cancelled_cb)
+- priv->cancelled_cb (stream);
+-
+- return FALSE;
++ priv->cancelled_cb (G_INPUT_STREAM (stream));
+ }
+
+ static void
+@@ -332,17 +332,12 @@ soup_http_input_stream_prepare_for_io (G
+ gsize count)
+ {
+ SoupHTTPInputStreamPrivate *priv = SOUP_HTTP_INPUT_STREAM_GET_PRIVATE (stream);
+- int cancel_fd;
+
+ priv->cancellable = cancellable;
+- cancel_fd = g_cancellable_get_fd (cancellable);
+- if (cancel_fd != -1) {
+- GIOChannel *chan = g_io_channel_unix_new (cancel_fd);
+- priv->cancel_watch = soup_add_io_watch (priv->async_context, chan,
+- G_IO_IN | G_IO_ERR | G_IO_HUP,
+- soup_http_input_stream_cancelled,
+- stream);
+- g_io_channel_unref (chan);
++ if (cancellable) {
++ priv->cancel_id = g_signal_connect (cancellable, "cancelled",
++ G_CALLBACK (soup_http_input_stream_cancelled),
++ stream);
+ }
+
+ priv->caller_buffer = buffer;
+@@ -358,10 +353,9 @@ soup_http_input_stream_done_io (GInputSt
+ {
+ SoupHTTPInputStreamPrivate *priv = SOUP_HTTP_INPUT_STREAM_GET_PRIVATE (stream);
+
+- if (priv->cancel_watch) {
+- g_source_destroy (priv->cancel_watch);
+- priv->cancel_watch = NULL;
+- g_cancellable_release_fd (priv->cancellable);
++ if (priv->cancel_id) {
++ g_signal_handler_disconnect (priv->cancellable, priv->cancel_id);
++ priv->cancel_id = 0;
+ }
+ priv->cancellable = NULL;
+
Home |
Main Index |
Thread Index |
Old Index