On 7/11/19 7:02 AM, Stefan Berger wrote:
On 7/10/19 4:09 PM, Marc-André Lureau wrote:
> On Wed, Jul 10, 2019 at 10:12 PM Stefan Berger
> <stefanb(a)linux.vnet.ibm.com> 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(a)linux.ibm.com>
> that looks fine,
> Reviewed-by: Marc-André Lureau <marcandre.lureau(a)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....