From e66eff4b46afbd17edfc53aaf49f2ac398421c26 Mon Sep 17 00:00:00 2001 From: Christian Fetzer Date: Tue, 28 May 2013 14:37:06 +0200 Subject: [PATCH] obexd: Add session_queue Add helper function session_queue that appends a pending_request to the session's command queue. --- obexd/client/session.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/obexd/client/session.c b/obexd/client/session.c index 14248ed4d..33e20575c 100644 --- a/obexd/client/session.c +++ b/obexd/client/session.c @@ -669,6 +669,15 @@ static gboolean session_process(gpointer data) return FALSE; } +static void session_queue(struct pending_request *p) +{ + g_queue_push_tail(p->session->queue, p); + + if (p->session->process_id == 0) + p->session->process_id = g_idle_add(session_process, + p->session); +} + guint obc_session_queue(struct obc_session *session, struct obc_transfer *transfer, session_callback_t func, void *user_data, @@ -691,13 +700,8 @@ guint obc_session_queue(struct obc_session *session, obc_transfer_set_callback(transfer, transfer_complete, session); - p = pending_request_new(session, NULL, transfer, func, user_data, - NULL); - g_queue_push_tail(session->queue, p); - - if (session->process_id == 0) - session->process_id = g_idle_add(session_process, session); - + p = pending_request_new(session, NULL, transfer, func, user_data, NULL); + session_queue(p); return p->id; } -- 2.47.3