From d381a6d934cbbfbdec0afa55d2b8867a07abf86e Mon Sep 17 00:00:00 2001 From: Mikel Astiz Date: Tue, 28 Feb 2012 13:56:22 +0100 Subject: [PATCH] obexd: free active transfer on session shutdown The currently active request should be canceled just like any other queued transfer. Otherwise obex timeout is reported. --- obexd/client/session.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/obexd/client/session.c b/obexd/client/session.c index c4645fbd9..42eba1011 100644 --- a/obexd/client/session.c +++ b/obexd/client/session.c @@ -496,6 +496,14 @@ void obc_session_shutdown(struct obc_session *session) err = g_error_new(OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, "Session closed by user"); + if (session->p != NULL) { + if (session->p->func) + session->p->func(session, err, session->p->data); + + pending_request_free(session->p); + session->p = NULL; + } + while ((p = g_queue_pop_head(session->queue))) { if (p->func) p->func(session, err, p->data); -- 2.47.3