[Mesa-dev] [PATCH] squash! anv: Move close(fd) from anv_bo_cache_import to its callers

Chad Versace chadversary at chromium.org
Tue Oct 17 17:46:14 UTC 2017


On Mon 16 Oct 2017, Jason Ekstrand wrote:
> On October 16, 2017 4:18:45 PM Chad Versace <chadversary at chromium.org> wrote:
> 
> > 
> > Add missing close(fd) for case
> > VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,
> > subcase ANV_SEMAPHORE_TYPE_BO.
> > ---
> >  src/intel/vulkan/anv_queue.c | 22 +++++++++++-----------
> >  1 file changed, 11 insertions(+), 11 deletions(-)
> > 
> > diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c
> > index e26254a87e..180c907781 100644
> > --- a/src/intel/vulkan/anv_queue.c
> > +++ b/src/intel/vulkan/anv_queue.c
> > @@ -1020,17 +1020,6 @@ VkResult anv_ImportSemaphoreFdKHR(
> >           new_impl.syncobj = anv_gem_syncobj_fd_to_handle(device, fd);
> >           if (!new_impl.syncobj)
> >              return vk_error(VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR);
> > -
> > -         /* From the Vulkan spec:
> > -          *
> > -          *    "Importing semaphore state from a file descriptor transfers
> > -          *    ownership of the file descriptor from the application to the
> > -          *    Vulkan implementation. The application must not perform any
> > -          *    operations on the file descriptor after a successful import."
> > -          *
> > -          * If the import fails, we leave the file descriptor open.
> > -          */
> > -         close(pImportSemaphoreFdInfo->fd);
> >        } else {
> >           new_impl.type = ANV_SEMAPHORE_TYPE_BO;
> > 
> > @@ -1044,6 +1033,17 @@ VkResult anv_ImportSemaphoreFdKHR(
> >            */
> >           assert(!(new_impl.bo->flags & EXEC_OBJECT_ASYNC));
> >        }
> > +
> > +      /* From the Vulkan spec:
> > +       *
> > +       *    "Importing semaphore state from a file descriptor transfers
> > +       *    ownership of the file descriptor from the application to the
> > +       *    Vulkan implementation. The application must not perform any
> > +       *    operations on the file descriptor after a successful import."
> > +       *
> > +       * If the import fails, we leave the file descriptor open.
> > +       */
> > +      close(fd);
> 
> Indentation looks off here.  Other than that, LGTM

The indentation is intended. The expanded hunk looks like this. The
close() catches both branches of the if-tree.

    case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR:
        if (has_syncobj) {
            ...
            anv_gem_syncobj_fd_to_handle(dev, fd);
            if (fail)
                return error;
        } else {
            ...
            anv_bo_cache_import_with_size(dev, fd, ...);
            if (fail)
                return error;
        }

        close(fd);


More information about the mesa-dev mailing list