[libvirt] [PATCH v1 10/40] util: cgroup: use VIR_AUTOPTR for aggregate types

Erik Skultety eskultet at redhat.com
Mon Jul 23 12:39:56 UTC 2018


On Sat, Jul 21, 2018 at 05:36:42PM +0530, Sukrit Bhatnagar wrote:
> By making use of GNU C's cleanup attribute handled by the
> VIR_AUTOPTR macro for declaring aggregate pointer variables,
> majority of the calls to *Free functions can be dropped, which
> in turn leads to getting rid of most of our cleanup sections.
>
> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr at gmail.com>
> ---
...

> @@ -3505,23 +3470,18 @@ int
>  virCgroupKill(virCgroupPtr group, int signum)
>  {
>      VIR_DEBUG("group=%p path=%s signum=%d", group, group->path, signum);
> -    int ret;
>      /* The 'tasks' file in cgroups can contain duplicated
>       * pids, so we use a hash to track which we've already
>       * killed.
>       */
> -    virHashTablePtr pids = virHashCreateFull(100,
> +    VIR_AUTOPTR(virHashTable) pids = virHashCreateFull(100,
>                                               NULL,
>                                               virCgroupPidCode,
>                                               virCgroupPidEqual,
>                                               virCgroupPidCopy,
>                                               NULL);
>

Code misalignment...

...

> @@ -3596,20 +3554,15 @@ virCgroupKillRecursiveInternal(virCgroupPtr group,
>  int
>  virCgroupKillRecursive(virCgroupPtr group, int signum)
>  {
> -    int ret;
>      VIR_DEBUG("group=%p path=%s signum=%d", group, group->path, signum);
> -    virHashTablePtr pids = virHashCreateFull(100,
> +    VIR_AUTOPTR(virHashTable) pids = virHashCreateFull(100,
>                                               NULL,
>                                               virCgroupPidCode,
>                                               virCgroupPidEqual,
>                                               virCgroupPidCopy,
>                                               NULL);

...here too...

Reviewed-by: Erik Skultety <eskultet at redhat.com>




More information about the libvir-list mailing list