diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-10-31 11:42:52 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-10-31 11:42:52 +0000 |
commit | 655b26bb758d9acb15e4870c1c541bb25c36cdd1 (patch) | |
tree | 85cafcebf42594d68234063c314b4023778c2027 /sysdeps | |
parent | 646fffb9818a445a13e517561b61cfb8ee1d1664 (diff) | |
download | glibc-655b26bb758d9acb15e4870c1c541bb25c36cdd1.zip glibc-655b26bb758d9acb15e4870c1c541bb25c36cdd1.tar.gz glibc-655b26bb758d9acb15e4870c1c541bb25c36cdd1.tar.bz2 |
Update.
1998-10-29 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/locale.texi (Formatting Numbers): Fix strfmon examples.
1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/bits/select.h (__FD_ZERO): Change '\0' to plain
0, __fd_mask is usually not a char.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sigpending.c (sigpending): Allow
compilation on systems without rt_* syscalls (e.g. on Linux 2.0).
* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise
* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Allow
compiling on systems without rt_sigaction syscall.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction):
Likewise.
1998-10-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* time/strptime.c (HERE_D_FMT): Fix typo.
Reported by Claus Heine <heine@math1.rwth-aachen.de>, PR libc/842.
* catgets/test1.msg: New file.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/bits/select.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aio_sigqueue.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sigaction.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigpending.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigprocmask.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigqueue.c | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigsuspend.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigtimedwait.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigwaitinfo.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c | 2 |
10 files changed, 27 insertions, 2 deletions
diff --git a/sysdeps/generic/bits/select.h b/sysdeps/generic/bits/select.h index 1025532..4513135 100644 --- a/sysdeps/generic/bits/select.h +++ b/sysdeps/generic/bits/select.h @@ -28,7 +28,7 @@ unsigned int __i; \ __fd_set *__arr = (s); \ for (__i = 0; __i < sizeof (__fd_set) / sizeof (__fd_mask); ++__i) \ - __FDS_BITS (__arr)[__i] = '\0'; \ + __FDS_BITS (__arr)[__i] = 0; \ } while (0) #define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) #define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c index 8d1d5cf..0500b3f 100644 --- a/sysdeps/unix/sysv/linux/aio_sigqueue.c +++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c @@ -26,6 +26,7 @@ #include "aio_misc.h" +#ifdef __NR_rt_sigqueueinfo extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *); @@ -47,3 +48,6 @@ __aio_sigqueue (sig, val) return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); } +#else +# include <sysdeps/generic/aio_sigqueue.c> +#endif diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c index ab19246..142eac6 100644 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c +++ b/sysdeps/unix/sysv/linux/i386/sigaction.c @@ -47,6 +47,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) struct old_kernel_sigaction k_newact, k_oldact; int result; +#ifdef __NR_rt_sigaction /* First try the RT signals. */ if (!__libc_missing_rt_sigs) { @@ -83,6 +84,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) __set_errno (saved_errno); __libc_missing_rt_sigs = 1; } +#endif if (act) { diff --git a/sysdeps/unix/sysv/linux/sigpending.c b/sysdeps/unix/sysv/linux/sigpending.c index b370626..1d7e0d6 100644 --- a/sysdeps/unix/sysv/linux/sigpending.c +++ b/sysdeps/unix/sysv/linux/sigpending.c @@ -38,6 +38,7 @@ int sigpending (set) sigset_t *set; { +#ifdef __NR_rt_pending /* First try the RT signals. */ if (!__libc_missing_rt_sigs) { @@ -52,6 +53,7 @@ sigpending (set) __set_errno (saved_errno); __libc_missing_rt_sigs = 1; } +#endif return INLINE_SYSCALL (sigpending, 1, set); } diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c index 62c5f77..2028ed5 100644 --- a/sysdeps/unix/sysv/linux/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sigprocmask.c @@ -39,6 +39,7 @@ __sigprocmask (how, set, oset) const sigset_t *set; sigset_t *oset; { +#ifdef __NR_rt_sigprocmask /* First try the RT signals. */ if (!__libc_missing_rt_sigs) { @@ -54,6 +55,7 @@ __sigprocmask (how, set, oset) __set_errno (saved_errno); __libc_missing_rt_sigs = 1; } +#endif return INLINE_SYSCALL (sigprocmask, 3, how, set, oset); } diff --git a/sysdeps/unix/sysv/linux/sigqueue.c b/sysdeps/unix/sysv/linux/sigqueue.c index fa31119..c3e05e1 100644 --- a/sysdeps/unix/sysv/linux/sigqueue.c +++ b/sysdeps/unix/sysv/linux/sigqueue.c @@ -25,7 +25,7 @@ extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *); - +#ifdef __NR_rt_sigqueueinfo /* Return any pending signal or wait for one for the given time. */ int __sigqueue (pid, sig, val) @@ -46,3 +46,6 @@ __sigqueue (pid, sig, val) return INLINE_SYSCALL (rt_sigqueueinfo, 3, pid, sig, &info); } weak_alias (__sigqueue, sigqueue) +#else +# include <sysdeps/generic/sigqueue.c> +#endif diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c index b9aeffe..5dd0a9e 100644 --- a/sysdeps/unix/sysv/linux/sigsuspend.c +++ b/sysdeps/unix/sysv/linux/sigsuspend.c @@ -38,6 +38,7 @@ int __sigsuspend (set) const sigset_t *set; { +#ifdef __NR_rt_sigsuspend /* First try the RT signals. */ if (!__libc_missing_rt_sigs) { @@ -52,6 +53,7 @@ __sigsuspend (set) __set_errno (saved_errno); __libc_missing_rt_sigs = 1; } +#endif return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]); } diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c index 09c04cf..4bb7396 100644 --- a/sysdeps/unix/sysv/linux/sigtimedwait.c +++ b/sysdeps/unix/sysv/linux/sigtimedwait.c @@ -22,6 +22,7 @@ #include <sysdep.h> #include <sys/syscall.h> +#ifdef __NR_rt_sigtimedwait extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *, const struct timespec *, size_t); @@ -38,3 +39,6 @@ __sigtimedwait (set, info, timeout) return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, timeout, _NSIG / 8); } weak_alias (__sigtimedwait, sigtimedwait) +#else +# include <sysdeps/generic/sigtimedwait.c> +#endif diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c index 718d179..ae51275 100644 --- a/sysdeps/unix/sysv/linux/sigwaitinfo.c +++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c @@ -24,6 +24,7 @@ #include <sysdep.h> #include <sys/syscall.h> +#ifdef __NR_rt_sigtimedwait extern int __syscall_rt_sigtimedwait (const sigset_t *, siginfo_t *, const struct timespec *, size_t); @@ -39,3 +40,6 @@ __sigwaitinfo (set, info) return INLINE_SYSCALL (rt_sigtimedwait, 4, set, info, NULL, _NSIG / 8); } weak_alias (__sigwaitinfo, sigwaitinfo) +#else +# include <sysdeps/generic/sigwaitinfo.c> +#endif diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c index e18ffa8..20cde2d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c @@ -41,6 +41,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact) struct old_kernel_sigaction k_sigact, k_osigact; int ret; +#ifdef __NR_rt_sigaction /* First try the RT signals. */ if (!__libc_missing_rt_sigs) { @@ -81,6 +82,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact) __set_errno (saved_errno); __libc_missing_rt_sigs = 1; } +#endif /* Magic to tell the kernel we are using "new-style" signals, in that the signal table is not kept in userspace. Not the same as the |