Fix some of my silliness in DRM_WAIT_ON (not returning EINTR).
authorEric Anholt <anholt@freebsd.org>
Sun, 29 Sep 2002 22:39:34 +0000 (22:39 +0000)
committerEric Anholt <anholt@freebsd.org>
Sun, 29 Sep 2002 22:39:34 +0000 (22:39 +0000)
bsd-core/drm_os_freebsd.h
bsd/drm_os_freebsd.h

index a0ec9e3..2fa19ce 100644 (file)
@@ -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 )
index a0ec9e3..2fa19ce 100644 (file)
@@ -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 )