OSDN Git Service

intel: Retry pin ioctl on -EINTR.
authorEric Anholt <eric@anholt.net>
Mon, 5 Jan 2009 01:37:18 +0000 (17:37 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 15 Jan 2009 00:12:08 +0000 (16:12 -0800)
libdrm/intel/intel_bufmgr_gem.c

index c510e5e..7b821de 100644 (file)
@@ -999,7 +999,10 @@ drm_intel_gem_bo_pin(drm_intel_bo *bo, uint32_t alignment)
     pin.handle = bo_gem->gem_handle;
     pin.alignment = alignment;
 
-    ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_PIN, &pin);
+    do {
+       ret = ioctl(bufmgr_gem->fd, DRM_IOCTL_I915_GEM_PIN, &pin);
+    } while (ret == -1 && errno == EINTR);
+
     if (ret != 0)
        return -errno;