summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <pwithnall@endlessos.org>2023-04-13 12:32:04 +0100
committerPhilip Withnall <pwithnall@endlessos.org>2023-04-13 13:23:59 +0100
commit48b3b61154389b377f6cd20ea72e57b62c9256e8 (patch)
tree9d8825705a059785215550d06e0c52ed03f732f5
parent4d12c3e5769952ad0bfa318f4569d90a9d9a5085 (diff)
downloadlibsoup-2-74.tar.gz
lib: Add names to various GSourceslibsoup-2-74
This helps in identifying what’s attached to a `GMainContext` when debugging runtime problems with libsoup. The names added in `soup-misc.c` are fairly rough; if they turn out to not be specific enough, those methods could be changed to accept a `const gchar *name` argument so the caller can provide a more specific name. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
-rw-r--r--libsoup/soup-message-io.c4
-rw-r--r--libsoup/soup-misc.c20
-rw-r--r--libsoup/soup-socket.c7
-rw-r--r--libsoup/soup-websocket-connection.c20
4 files changed, 51 insertions, 0 deletions
diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c
index c5412abb..8d69f18d 100644
--- a/libsoup/soup-message-io.c
+++ b/libsoup/soup-message-io.c
@@ -927,7 +927,11 @@ soup_message_io_get_source (SoupMessage *msg, GCancellable *cancellable,
source = g_source_new (&message_source_funcs,
sizeof (SoupMessageSource));
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (source, "SoupMessageSource");
+#else
g_source_set_name (source, "SoupMessageSource");
+#endif
message_source = (SoupMessageSource *)source;
message_source->msg = g_object_ref (msg);
message_source->paused = io && io->paused;
diff --git a/libsoup/soup-misc.c b/libsoup/soup-misc.c
index 2cf6b0f6..170fa15a 100644
--- a/libsoup/soup-misc.c
+++ b/libsoup/soup-misc.c
@@ -83,6 +83,11 @@ soup_add_io_watch (GMainContext *async_context,
GIOFunc function, gpointer data)
{
GSource *watch = g_io_create_watch (chan, condition);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (watch, "SoupIOWatch");
+#else
+ g_source_set_name (watch, "SoupIOWatch");
+#endif
g_source_set_callback (watch, (GSourceFunc) function, data, NULL);
g_source_attach (watch, async_context);
g_source_unref (watch);
@@ -111,6 +116,11 @@ soup_add_idle (GMainContext *async_context,
GSourceFunc function, gpointer data)
{
GSource *source = g_idle_source_new ();
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (source, "SoupIdle");
+#else
+ g_source_set_name (source, "SoupIdle");
+#endif
g_source_set_callback (source, function, data, NULL);
g_source_attach (source, async_context);
g_source_unref (source);
@@ -125,6 +135,11 @@ soup_add_completion_reffed (GMainContext *async_context,
{
GSource *source = g_idle_source_new ();
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (source, "SoupCompletion");
+#else
+ g_source_set_name (source, "SoupCompletion");
+#endif
g_source_set_priority (source, G_PRIORITY_DEFAULT);
g_source_set_callback (source, function, data, dnotify);
g_source_attach (source, async_context);
@@ -178,6 +193,11 @@ soup_add_timeout (GMainContext *async_context,
GSourceFunc function, gpointer data)
{
GSource *source = g_timeout_source_new (interval);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (source, "SoupTimeout");
+#else
+ g_source_set_name (source, "SoupTimeout");
+#endif
g_source_set_callback (source, function, data, NULL);
g_source_attach (source, async_context);
g_source_unref (source);
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index 0ec45103..53b5c584 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -1203,6 +1203,13 @@ soup_socket_create_watch (SoupSocketPrivate *priv, GIOCondition cond,
watch = g_pollable_input_stream_create_source (G_POLLABLE_INPUT_STREAM (priv->istream), cancellable);
else
watch = g_pollable_output_stream_create_source (G_POLLABLE_OUTPUT_STREAM (priv->ostream), cancellable);
+
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (watch, "SoupSocket watch");
+#else
+ g_source_set_name (watch, "SoupSocket watch");
+#endif
+
g_source_set_callback (watch, (GSourceFunc)callback, user_data, NULL);
g_source_attach (watch, priv->async_context);
diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c
index a4095e1c..6d136d41 100644
--- a/libsoup/soup-websocket-connection.c
+++ b/libsoup/soup-websocket-connection.c
@@ -306,6 +306,11 @@ soup_websocket_connection_start_input_source (SoupWebsocketConnection *self)
return;
pv->input_source = g_pollable_input_stream_create_source (pv->input, NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (pv->input_source, "SoupWebsocketConnection input");
+#else
+ g_source_set_name (pv->input_source, "SoupWebsocketConnection input");
+#endif
g_source_set_callback (pv->input_source, (GSourceFunc)on_web_socket_input, self, NULL);
g_source_attach (pv->input_source, pv->main_context);
}
@@ -332,6 +337,11 @@ soup_websocket_connection_start_output_source (SoupWebsocketConnection *self)
return;
pv->output_source = g_pollable_output_stream_create_source (pv->output, NULL);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (pv->output_source, "SoupWebsocketConnection output");
+#else
+ g_source_set_name (pv->output_source, "SoupWebsocketConnection output");
+#endif
g_source_set_callback (pv->output_source, (GSourceFunc)on_web_socket_output, self, NULL);
g_source_attach (pv->output_source, pv->main_context);
}
@@ -444,6 +454,11 @@ close_io_after_timeout (SoupWebsocketConnection *self)
g_debug ("waiting %d seconds for peer to close io", timeout);
pv->close_timeout = g_timeout_source_new_seconds (timeout);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (pv->close_timeout, "SoupWebsocketConnection close timeout");
+#else
+ g_source_set_name (pv->close_timeout, "SoupWebsocketConnection close timeout");
+#endif
g_source_set_callback (pv->close_timeout, on_timeout_close_io, self, NULL);
g_source_attach (pv->close_timeout, pv->main_context);
}
@@ -2207,6 +2222,11 @@ soup_websocket_connection_set_keepalive_interval (SoupWebsocketConnection *self,
if (interval > 0) {
pv->keepalive_timeout = g_timeout_source_new_seconds (interval);
+#if GLIB_CHECK_VERSION(2, 70, 0)
+ g_source_set_static_name (pv->keepalive_timeout, "SoupWebsocketConnection keepalive timeout");
+#else
+ g_source_set_name (pv->keepalive_timeout, "SoupWebsocketConnection keepalive timeout");
+#endif
g_source_set_callback (pv->keepalive_timeout, on_queue_ping, self, NULL);
g_source_attach (pv->keepalive_timeout, pv->main_context);
}