]> git.sesse.net Git - vlc/commitdiff
decomp: fallback to write() if Linux vmsplice returns ENOSYS
authorRémi Denis-Courmont <rdenis@simphalempin.com>
Tue, 13 Jan 2009 20:36:21 +0000 (22:36 +0200)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Tue, 13 Jan 2009 20:58:20 +0000 (22:58 +0200)
(Since we are always dealing with a pipe, it cannot return EINVAL)

modules/stream_filter/decomp.c

index f89d16ddc4d58c22b2c193c3e084d4deac6ccc3f..7ec7b512d02cb5ee0fa22ad2d5bee7a8fe7392ad 100644 (file)
@@ -120,9 +120,9 @@ static void *Thread (void *data)
                 struct iovec iov = { buf + i, (len - i) & ~page_mask, };
                 j = vmsplice (fd, &iov, 1, SPLICE_F_GIFT);
             }
-#else
-            j = write (fd, buf + i, len - i);
+            if (j == -1 && errno == ENOSYS) /* vmsplice() not supported */
 #endif
+            j = write (fd, buf + i, len - i);
             if (j <= 0)
             {
                 if (j == 0)