
On 7/11/19 7:02 AM, Stefan Berger wrote:
On 7/10/19 4:09 PM, Marc-André Lureau wrote:
Implement virCommandSetSendBuffer() that allows the caller to pass a file descriptor and buffer to virCommand. virCommand will write the buffer into the file descriptor. That file descriptor could be the write end of a pipe or one of the file descriptors of a socketpair. The other file descriptor should be passed to the launched process to read the data from.
Only implement the function to allocate memory for send buffers and to free them later on.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
On Wed, Jul 10, 2019 at 10:12 PM Stefan Berger <stefanb@linux.vnet.ibm.com> wrote: that looks fine, Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
I may need to modify this patch here to set the file descriptor's O_NONBLOCK flag...
The poll behavior of a pipe is that it gets POLLOUT for as long as there is room left to write, so we will fill it up in more or less passes through the loop. I don't know how one could find out how much space there is left to write on a pipe so that the loop at least would quiet down after filling it up completely because this seems inefficient....