Hello, I contact you about a problem with libsoup-2.34.1. I had developed an application which use gupnp and libsoup. When I have begun to work I used libsoup-2.24.3. I had change the version of gupnp I used. And of course I needed to change lipsoup too. Now I use libsoup-2.34.1 and I have a bug. When I ask a request to a dlna server, I send it (header + message) the server send a response (header + correct format response), the logger receives the response... but the callback is never called. I tried to find a solution in the sources of libsoup and I found this : static gboolean idle_run_queue (gpointer sa) { SoupSessionAsyncPrivate *priv = SOUP_SESSION_ASYNC_GET_PRIVATE (sa); priv->idle_run_queue_source = NULL; run_queue (sa); return FALSE; } static void do_idle_run_queue (SoupSession *session) { SoupSessionAsyncPrivate *priv = SOUP_SESSION_ASYNC_GET_PRIVATE (session); if (!priv->idle_run_queue_source) { priv->idle_run_queue_source = soup_add_completion ( soup_session_get_async_context (session), idle_run_queue, session); } } In the function do_idle_run_queue, soup_add_completion is never called because priv->idle_run_queue_source is not null. Idle_run_queue is correctly called before the message was sent. I don't understand why priv->idle_run_queue_source is not null, I didn't find function which modify it between those two steps. But if I comment the 'if' my application works! So I ask you if I can do this. I don't have a global view of libsoup and I'm sure this test has an utility. I would like to know how I can properly corrected this error, in libsoup or perhaps in my application. Thanks Sincerely Pierre-Yves Denonfoux |