--- libeio/eio.c 2008/10/22 18:15:36 1.27 +++ libeio/eio.c 2008/10/24 22:38:03 1.28 @@ -831,7 +831,7 @@ res = sync_file_range (fd, offset, nbytes, flags); - if (res != ENOSYS) + if (!res || errno != ENOSYS) return res; #endif @@ -1018,7 +1018,7 @@ #if !(_POSIX_MAPPED_FILES && _POSIX_SYNCHRONIZED_IO) # undef msync -# define msync(a,b,c) ENOSYS +# define msync(a,b,c) ((errno = ENOSYS), -1) #endif int