[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 15/15] chardev: tcp: postpone TLS work until
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH v2 15/15] chardev: tcp: postpone TLS work until machine done |
Date: |
Fri, 2 Mar 2018 14:34:01 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Thu, Mar 01, 2018 at 04:03:04PM +0000, Daniel P. Berrangé wrote:
> On Thu, Mar 01, 2018 at 04:44:38PM +0800, Peter Xu wrote:
> > 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.
> >
> > If we dynamically add tcp chardev, it won't be affected since we have a
> > new tcp_chr_machine_done flag to know whether we should postpone it or
> > not.
> >
> > Signed-off-by: Peter Xu <address@hidden>
> > ---
> > chardev/char-socket.c | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
>
> I don't like this patch either for the same reasons as previous
> patch - its creating different behaviour depending on whether
> the 'wait' flag happens to have been set in -chardev.
IMHO it's because the socket chardev is indeed complicated... If you
see qmp_chardev_open_socket(), that's where most of the complexity
lies in. And as I explained, each of the patch, or group of patches,
were only trying to solve a single problem.
Though I admit this patch has brought a little bit more complexity,
though in the short term I don't see a better solution. And, if you
consider the existing MUX machine done hook, then it's merely using
the same way to do it but even cleaned it up a bit...
Please let me know if you have any suggestion that I can do it in a
better way. Thanks!
--
Peter Xu
- [Qemu-devel] [PATCH v2 12/15] chardev: introduce chr_machine_done hook, (continued)
- [Qemu-devel] [PATCH v2 12/15] chardev: introduce chr_machine_done hook, Peter Xu, 2018/03/01
- [Qemu-devel] [PATCH v2 13/15] char: use chardev's gcontext for async connect, Peter Xu, 2018/03/01
- [Qemu-devel] [PATCH v2 14/15] chardev: tcp: postpone async connection setup, Peter Xu, 2018/03/01
- [Qemu-devel] [PATCH v2 15/15] chardev: tcp: postpone TLS work until machine done, Peter Xu, 2018/03/01
- Re: [Qemu-devel] [PATCH v2 00/15] qio: general non-default GMainContext support, Daniel P . Berrangé, 2018/03/01