[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Question on unixsocket-based chardevs and vhost-user
From: |
Felipe Franciosi |
Subject: |
[Qemu-devel] Question on unixsocket-based chardevs and vhost-user |
Date: |
Wed, 28 Sep 2016 16:56:01 +0000 |
Hi Daniel/Paolo,
I have a question regarding this commit:
-------------8<-------------
Author: Daniel P. Berrange <address@hidden>
AuthorDate: Tue Jan 19 11:14:29 2016 +0000
Commit: Paolo Bonzini <address@hidden>
CommitDate: Tue Jan 26 15:58:11 2016 +0100
-------------8<-------------
One of the hunks replace unix_send_msgfds() with io_channel_send_full():
-------------8<-------------
static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
{
TCPCharDriver *s = chr->opaque;
if (s->connected) {
-#ifndef _WIN32
- if (s->is_unix && s->write_msgfds_num) {
- return unix_send_msgfds(chr, buf, len);
- } else
-#endif
- {
- return io_channel_send(s->chan, buf, len);
+ int ret = io_channel_send_full(s->ioc, buf, len,
+ s->write_msgfds,
+ s->write_msgfds_num);
-------------8<-------------
According to the code (qemu-char.c:968), io_channel_send_full() is just
ignoring the s->write_msgfds parameter.
So my question is: when using a chardev implemented by unix sockets, how does
one pass file descriptors for vhost-user applications?
I’m actually searching qemu-char.c for “write_msgfds” and scratching my head.
There are functions to set it, clear it, etc, but none to send it.
Thanks,
Felipe
- [Qemu-devel] Question on unixsocket-based chardevs and vhost-user,
Felipe Franciosi <=