summaryrefslogtreecommitdiff
path: root/tests/gem_userptr_blits.c
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2014-12-23 19:07:14 -0800
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-01-06 09:29:45 +0100
commit33d52a854375581321eb7ae36b06705425fb482f (patch)
tree158ee58cc2be420e9e92ff4de56d885e93a46245 /tests/gem_userptr_blits.c
parent843beb152bb948c972e573448be02ea0a902f3ea (diff)
Skip MADV_DOFORK & MADV_DONTFORK calls on OS'es that don't support them
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests/gem_userptr_blits.c')
-rw-r--r--tests/gem_userptr_blits.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/gem_userptr_blits.c b/tests/gem_userptr_blits.c
index d641c120..be2fdf97 100644
--- a/tests/gem_userptr_blits.c
+++ b/tests/gem_userptr_blits.c
@@ -594,14 +594,18 @@ static void test_forked_access(int fd)
int ret;
ret = posix_memalign(&ptr1, PAGE_SIZE, sizeof(linear));
+#ifdef MADV_DONTFORK
ret |= madvise(ptr1, sizeof(linear), MADV_DONTFORK);
+#endif
ret |= gem_userptr(fd, ptr1, sizeof(linear), 0, &handle1);
igt_assert(ret == 0);
igt_assert(ptr1);
igt_assert(handle1);
ret = posix_memalign(&ptr2, PAGE_SIZE, sizeof(linear));
+#ifdef MADV_DONTFORK
ret |= madvise(ptr2, sizeof(linear), MADV_DONTFORK);
+#endif
ret |= gem_userptr(fd, ptr2, sizeof(linear), 0, &handle2);
igt_assert(ret == 0);
igt_assert(ptr2);
@@ -623,12 +627,16 @@ static void test_forked_access(int fd)
igt_assert(memcmp(ptr1, ptr2, sizeof(linear)) == 0);
+#ifdef MADV_DOFORK
ret = madvise(ptr1, sizeof(linear), MADV_DOFORK);
igt_assert(ret == 0);
+#endif
free(ptr1);
+#ifdef MADV_DOFORK
ret = madvise(ptr2, sizeof(linear), MADV_DOFORK);
igt_assert(ret == 0);
+#endif
free(ptr2);
}