diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | sysdeps/mach/hurd/fdatasync.c | 8 | ||||
-rw-r--r-- | sysdeps/mach/hurd/fsync.c | 8 | ||||
-rw-r--r-- | sysdeps/pthread/aio_notify.c | 2 |
4 files changed, 25 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index a70fadca4e..d2c7cc7509 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-10-29 Pino Toscano <toscano.pino@tiscali.it> + + * sysdeps/mach/hurd/fdatasync.c: Turn ERR into EINVAL if it is + EOPNOTSUPP. + * sysdeps/mach/hurd/fsync.c: Likewise. + + * sysdeps/pthread/aio_notify.c (__aio_notify_only) + [_POSIX_REALTIME_SIGNALS]: Change condition to + [_POSIX_REALTIME_SIGNALS > 0]. + 2012-10-27 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/x86/bits/fcntl.h (__O_LARGEFILE) diff --git a/sysdeps/mach/hurd/fdatasync.c b/sysdeps/mach/hurd/fdatasync.c index 19d7a4a58a..22c1d103d4 100644 --- a/sysdeps/mach/hurd/fdatasync.c +++ b/sysdeps/mach/hurd/fdatasync.c @@ -26,6 +26,12 @@ fdatasync (int fd) { error_t err = HURD_DPORT_USE (fd, __file_sync (port, 1, 1)); if (err) - return __hurd_dfail (fd, err); + { + if (err == EOPNOTSUPP) + /* If the file descriptor does not support sync, return EINVAL + as POSIX specifies. */ + err = EINVAL; + return __hurd_dfail (fd, err); + } return 0; } diff --git a/sysdeps/mach/hurd/fsync.c b/sysdeps/mach/hurd/fsync.c index a474c8a356..fe3e044a3a 100644 --- a/sysdeps/mach/hurd/fsync.c +++ b/sysdeps/mach/hurd/fsync.c @@ -27,6 +27,12 @@ fsync (fd) { error_t err = HURD_DPORT_USE (fd, __file_sync (port, 1, 0)); if (err) - return __hurd_dfail (fd, err); + { + if (err == EOPNOTSUPP) + /* If the file descriptor does not support sync, return EINVAL + as POSIX specifies. */ + err = EINVAL; + return __hurd_dfail (fd, err); + } return 0; } diff --git a/sysdeps/pthread/aio_notify.c b/sysdeps/pthread/aio_notify.c index f8c4ccc96e..a9f0648c21 100644 --- a/sysdeps/pthread/aio_notify.c +++ b/sysdeps/pthread/aio_notify.c @@ -95,7 +95,7 @@ __aio_notify_only (struct sigevent *sigev) else if (sigev->sigev_notify == SIGEV_SIGNAL) { /* We have to send a signal. */ -#if _POSIX_REALTIME_SIGNALS +#if _POSIX_REALTIME_SIGNALS > 0 /* Note that the standard gives us the option of using a plain non-queuing signal here when SA_SIGINFO is not set for the signal. */ # ifdef BROKEN_THREAD_SIGNALS |