All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Alberto Garcia <berto@igalia.com>
Subject: [Qemu-devel] [PULL 12/13] main-loop: Fix GSource leak in qio_task_thread_worker()
Date: Wed, 21 Aug 2019 19:28:20 +0200	[thread overview]
Message-ID: <1566408501-48680-13-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1566408501-48680-1-git-send-email-pbonzini@redhat.com>

From: Alberto Garcia <berto@igalia.com>

After g_source_attach() the GMainContext holds a reference to the
GSource, so the caller does not need to keep it.

qio_task_thread_worker() is not releasing its reference so the GSource
is being leaked since a17536c594bfed94d05667b419f747b692f5fc7f.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <1565625509-404969-2-git-send-email-andrey.shinkevich@virtuozzo.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 io/task.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/io/task.c b/io/task.c
index 64c4c71..1ae7b86 100644
--- a/io/task.c
+++ b/io/task.c
@@ -136,6 +136,7 @@ static gpointer qio_task_thread_worker(gpointer opaque)
                           qio_task_thread_result, task, NULL);
     g_source_attach(task->thread->completion,
                     task->thread->context);
+    g_source_unref(task->thread->completion);
     trace_qio_task_thread_source_attach(task, task->thread->completion);
 
     qemu_cond_signal(&task->thread_cond);
-- 
1.8.3.1




  parent reply	other threads:[~2019-08-21 17:40 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-21 17:28 [Qemu-devel] [PULL 00/13] Misc patches for 2019-08-21 Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 01/13] qemu-ga: clean up TOOLS variable Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 02/13] configure: define CONFIG_TOOLS here Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 03/13] module: use g_hash_table_add() Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 04/13] module: return success on module load Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 05/13] tests: add module loading test Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 06/13] configure: remove AUTOCONF_HOST Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 07/13] minikconf: don't print CONFIG_FOO=n lines Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 08/13] memory: Refactor memory_region_clear_coalescing Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 09/13] memory: Split zones when do coalesced_io_del() Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 10/13] memory: Remove has_coalesced_range counter Paolo Bonzini
2019-08-21 17:28 ` [Qemu-devel] [PULL 11/13] memory: Fix up memory_region_{add|del}_coalescing Paolo Bonzini
2019-08-21 17:28 ` Paolo Bonzini [this message]
2019-08-21 17:28 ` [Qemu-devel] [PULL 13/13] char-socket: Lock tcp_chr_disconnect() and socket_reconnect_timeout() Paolo Bonzini
2019-08-22 13:16 ` [Qemu-devel] [PULL 00/13] Misc patches for 2019-08-21 Peter Maydell
2019-08-22 17:22 ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1566408501-48680-13-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=berto@igalia.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.