[PATCH weston] launcher: Wrap drmGetMagic and drmAuthMagic so we can build without libdrm

Kristian Høgsberg hoegsberg at gmail.com
Fri Oct 11 01:53:25 CEST 2013


On Wed, Oct 09, 2013 at 11:30:57AM +0200, Tomeu Vizoso wrote:
> ---
>  src/launcher-util.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)

Thanks, applied to master.

Kristian

> diff --git a/src/launcher-util.c b/src/launcher-util.c
> index 6c28dc3..8b19b9d 100644
> --- a/src/launcher-util.c
> +++ b/src/launcher-util.c
> @@ -80,9 +80,19 @@ drm_set_master(int drm_fd)
>  		return drmSetMaster(drm_fd);
>  	return -EBADF;
>  }
> +static int
> +drm_check_master(int drm_fd)
> +{
> +	drm_magic_t magic;
> +	if (drm_fd != -1)
> +		return drmGetMagic(drm_fd, &magic) != 0 ||
> +		       drmAuthMagic(drm_fd, magic) != 0;
> +	return 0;
> +}
>  #else
>  static int drm_drop_master(int drm_fd) {return 0;}
>  static int drm_set_master(int drm_fd) {return 0;}
> +static int drm_check_master(int drm_fd) {return 1;}
>  #endif
>  
>  int
> @@ -110,10 +120,8 @@ weston_launcher_open(struct weston_launcher *launcher,
>  		}
>  
>  		if (major(s.st_rdev) == DRM_MAJOR) {
> -			drm_magic_t magic;
>  			launcher->drm_fd = fd;
> -			if (drmGetMagic(fd, &magic) != 0 ||
> -			    drmAuthMagic(fd, magic) != 0) {
> +			if (!drm_check_master(fd)) {
>  				weston_log("drm fd not master\n");
>  				close(fd);
>  				return -1;
> -- 
> 1.8.3.1
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list