From: Benjamin Franzke Date: Fri, 29 Apr 2011 15:04:11 +0000 (+0200) Subject: egl/wayland: Fix possible lockup in drm initialization X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dc520d4fefa6a92b3a8f2eed3c5a1044dfccb3ff;p=mesa.git egl/wayland: Fix possible lockup in drm initialization Lockup happens when wl_drm interface is not available. --- diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 030c68777af..1b75ffea0c5 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -680,7 +680,7 @@ dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp) id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1); if (id == 0) - wl_display_iterate(dri2_dpy->wl_dpy, WL_DISPLAY_READABLE); + force_roundtrip(dri2_dpy->wl_dpy); id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1); if (id == 0) goto cleanup_dpy; diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c index 75c871d6030..604720f6e5f 100644 --- a/src/gallium/state_trackers/egl/wayland/native_drm.c +++ b/src/gallium/state_trackers/egl/wayland/native_drm.c @@ -205,7 +205,7 @@ wayland_drm_display_init_screen(struct native_display *ndpy) id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1); if (id == 0) - wl_display_iterate(drmdpy->base.dpy, WL_DISPLAY_READABLE); + force_roundtrip(drmdpy->base.dpy); id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1); if (id == 0) return FALSE;