From 33a51d8518c37833a83225b47ad0b435050edeae Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 29 Sep 2002 22:39:34 +0000 Subject: Fix some of my silliness in DRM_WAIT_ON (not returning EINTR). --- bsd-core/drm_os_freebsd.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'bsd-core') diff --git a/bsd-core/drm_os_freebsd.h b/bsd-core/drm_os_freebsd.h index a0ec9e3c..2fa19cee 100644 --- a/bsd-core/drm_os_freebsd.h +++ b/bsd-core/drm_os_freebsd.h @@ -142,13 +142,11 @@ do { \ #define DRM_HZ hz #define DRM_WAIT_ON( ret, queue, timeout, condition ) \ -do { \ - if (condition) \ - break; \ - ret = tsleep( &(queue), PZERO | PCATCH, "rdnirq", (timeout) ); \ - if ( (ret == EWOULDBLOCK) || (ret == EINTR) ) \ - return DRM_ERR(EBUSY); \ -} while (1) +while (condition) { \ + ret = tsleep( &(queue), PZERO | PCATCH, "drmwtq", (timeout) ); \ + if ( ret ) \ + return ret; \ +} #define DRM_WAKEUP( queue ) wakeup( queue ) #define DRM_WAKEUP_INT( queue ) wakeup( queue ) -- cgit v1.2.3