iothread: export iothread_stop()
commit82d90705fe203cc6e150c10bd61f0dbe6979e8f4
authorPeter Xu <peterx@redhat.com>
Thu, 28 Sep 2017 02:59:56 +0000 (28 10:59 +0800)
committerStefan Hajnoczi <stefanha@redhat.com>
Tue, 3 Oct 2017 18:36:16 +0000 (3 14:36 -0400)
tree5787f080ae09a751e55075ca15e44da122b52653
parent0173e21b617d3de1fcfa917e329bb9194ab332a4
iothread: export iothread_stop()

So that internal iothread users can explicitly stop one iothread without
destroying it.

Since at it, fix iothread_stop() to allow it to be called multiple
times.  Before this patch we may call iothread_stop() more than once on
single iothread, while that may not be correct since qemu_thread_join()
is not allowed to run twice.  From manual of pthread_join():

  Joining with a thread that has previously been joined results in
  undefined behavior.

Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-id: 20170928025958.1420-4-peterx@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
include/sysemu/iothread.h
iothread.c