Re: [libvirt] [PATCH v2 14/21] utils: Convert pollfd array to be allocated

2019-07-10 Thread Stefan Berger

On 7/10/19 2:47 PM, Marc-André Lureau wrote:

On Wed, Jul 10, 2019 at 10:12 PM Stefan Berger
 wrote:

Convert the struct pollfd *fds to be allocated rather than residing
on the stack.


why? give some context to the commit message. thanks



Preparation for the next patch where the size of the array becomes 
dynamic...



--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH v2 14/21] utils: Convert pollfd array to be allocated

2019-07-10 Thread Marc-André Lureau
On Wed, Jul 10, 2019 at 10:12 PM Stefan Berger
 wrote:
>
> Convert the struct pollfd *fds to be allocated rather than residing
> on the stack.
>

why? give some context to the commit message. thanks

> Signed-off-by: Stefan Berger 
> ---
>  src/util/vircommand.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/util/vircommand.c b/src/util/vircommand.c
> index e32377497b..898ee0df45 100644
> --- a/src/util/vircommand.c
> +++ b/src/util/vircommand.c
> @@ -2123,6 +2123,7 @@ virCommandProcessIO(virCommandPtr cmd)
>  size_t inlen = 0, outlen = 0, errlen = 0;
>  size_t inoff = 0;
>  int ret = 0;
> +VIR_AUTOFREE(struct pollfd *) fds = NULL;
>
>  if (dryRunBuffer || dryRunCallback) {
>  VIR_DEBUG("Dry run requested, skipping I/O processing");
> @@ -2154,9 +2155,11 @@ virCommandProcessIO(virCommandPtr cmd)
>  goto cleanup;
>  ret = -1;
>
> +if (VIR_ALLOC_N(fds, 3) < 0)
> +goto cleanup;
> +
>  for (;;) {
>  size_t i;
> -struct pollfd fds[3];
>  int nfds = 0;
>
>  if (cmd->inpipe != -1) {
> --
> 2.20.1
>

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH v2 14/21] utils: Convert pollfd array to be allocated

2019-07-10 Thread Stefan Berger
Convert the struct pollfd *fds to be allocated rather than residing
on the stack.

Signed-off-by: Stefan Berger 
---
 src/util/vircommand.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/util/vircommand.c b/src/util/vircommand.c
index e32377497b..898ee0df45 100644
--- a/src/util/vircommand.c
+++ b/src/util/vircommand.c
@@ -2123,6 +2123,7 @@ virCommandProcessIO(virCommandPtr cmd)
 size_t inlen = 0, outlen = 0, errlen = 0;
 size_t inoff = 0;
 int ret = 0;
+VIR_AUTOFREE(struct pollfd *) fds = NULL;
 
 if (dryRunBuffer || dryRunCallback) {
 VIR_DEBUG("Dry run requested, skipping I/O processing");
@@ -2154,9 +2155,11 @@ virCommandProcessIO(virCommandPtr cmd)
 goto cleanup;
 ret = -1;
 
+if (VIR_ALLOC_N(fds, 3) < 0)
+goto cleanup;
+
 for (;;) {
 size_t i;
-struct pollfd fds[3];
 int nfds = 0;
 
 if (cmd->inpipe != -1) {
-- 
2.20.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list