chardev: tcp: postpone TLS work until machine done
commit99f2f54174a595e3ada6e4332fcd2b37ebb0d55d
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 8 Mar 2018 14:07:14 +0000 (8 22:07 +0800)
committerEric Blake <eblake@redhat.com>
Mon, 19 Mar 2018 19:58:36 +0000 (19 14:58 -0500)
treeaea5f8238133d2847a64ce741f4118b097ac1541
parent4f7be2806e672fa232e406ac5eec26789b9d5f85
chardev: tcp: postpone TLS work until machine done

TLS handshake may create background GSource tasks, while we won't know
the correct GMainContext until the whole chardev (including frontend)
inited.  Let's postpone the initial TLS handshake until machine done.

For dynamically created tcp chardev, we don't postpone that by checking
the init_machine_done variable.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
[peterx: add missing include line, do unit test]
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180308140714.28906-1-peterx@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
chardev/char-socket.c