diff options
author | Emil Velikov <emil.l.velikov@gmail.com> | 2015-09-07 09:53:53 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2015-09-15 12:37:27 +0100 |
commit | bd5bcb5b8ca043a3908d7a70ab1193efc1db278d (patch) | |
tree | ed2c0abc8bfb4379ed59c0c32e8ba736a73fd8df /src/egl | |
parent | e4f0d26c8c3c092a09fb65184ab080de4e38373e (diff) |
egl/dri2/drm: compact existing device mgmt
Move the fcntl(dupfd_cloexec) to the else branch where it belongs.
Otherwise it's not immediately obvious that the code is hit, only when
an existing device is used.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Boyan Ding <boyan.j.ding@gmail.com>
Diffstat (limited to 'src/egl')
-rw-r--r-- | src/egl/drivers/dri2/platform_drm.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index 7e97280460..050c309dce 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -624,6 +624,10 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) gbm = gbm_create_device(fd); if (gbm == NULL) goto cleanup; + } else { + fd = fcntl(gbm_device_get_fd(gbm), F_DUPFD_CLOEXEC, 3); + if (fd < 0) + goto cleanup; } if (strcmp(gbm_device_get_backend_name(gbm), "drm") != 0) @@ -633,12 +637,6 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) if (dri2_dpy->gbm_dri->base.type != GBM_DRM_DRIVER_TYPE_DRI) goto cleanup; - if (fd < 0) { - fd = fcntl(gbm_device_get_fd(gbm), F_DUPFD_CLOEXEC, 3); - if (fd < 0) - goto cleanup; - } - dri2_dpy->fd = fd; dri2_dpy->device_name = loader_get_device_name_for_fd(dri2_dpy->fd); dri2_dpy->driver_name = strdup(dri2_dpy->gbm_dri->base.driver_name); |