libsoup-2.34.1 : Bug or wrong using?



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]