This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
FreeBSD port (43): sigset_set_old_mask
- From: Bruno Haible <bruno at clisp dot org>
- To: Roland McGrath <roland at frob dot com>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Thu, 5 Sep 2002 14:14:08 +0200 (CEST)
- Subject: FreeBSD port (43): sigset_set_old_mask
Hi Roland,
You changed sigset_set_old_mask/sigset_get_old_mask to inline functions
on one platform. Why only on one? It improves type checking and legibility
on all platforms.
2002-09-04 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask,
sigset_get_old_mask): Turn into inline functions.
* sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask,
sigset_get_old_mask): Likewise.
* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask,
sigset_get_old_mask): Likewise.
diff -r -c3 glibc-20020828.bak/sysdeps/unix/sysv/aix/sigset-cvt-mask.h glibc-20020828/sysdeps/unix/sysv/aix/sigset-cvt-mask.h
*** glibc-20020828.bak/sysdeps/unix/sysv/aix/sigset-cvt-mask.h Tue Aug 27 13:39:08 2002
--- glibc-20020828/sysdeps/unix/sysv/aix/sigset-cvt-mask.h Fri Aug 30 11:52:45 2002
***************
*** 18,25 ****
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
! #define sigset_set_old_mask(set, mask) \
! ((set)->__losigs = (unsigned int) (mask), (set)->__hisigs = 0, 0)
! #define sigset_get_old_mask(set, mask) \
! ((unsigned int) (set)->__losigs)
--- 18,33 ----
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
! static inline int __attribute__ ((unused))
! sigset_set_old_mask (sigset_t *set, int mask)
! {
! set->__losigs = (unsigned int) mask;
! set->__hisigs = 0;
! return 0;
! }
! static inline int __attribute__ ((unused))
! sigset_get_old_mask (const sigset_t *set)
! {
! return (unsigned int) set->__losigs;
! }
diff -r -c3 glibc-20020828.bak/sysdeps/unix/sysv/linux/sigset-cvt-mask.h glibc-20020828/sysdeps/unix/sysv/linux/sigset-cvt-mask.h
*** glibc-20020828.bak/sysdeps/unix/sysv/linux/sigset-cvt-mask.h Tue Aug 27 13:39:09 2002
--- glibc-20020828/sysdeps/unix/sysv/linux/sigset-cvt-mask.h Fri Aug 30 11:58:56 2002
***************
*** 19,35 ****
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
! #define sigset_set_old_mask(set, mask) \
! ({ \
! unsigned long int *__ptr; \
! int __cnt; \
! __ptr = &(set)->__val[0]; \
! *__ptr++ = (unsigned long int) (mask); \
! __cnt = _SIGSET_NWORDS - 2; \
! do \
! *__ptr++ = 0ul; \
! while (--__cnt >= 0); \
! 0; })
! #define sigset_get_old_mask(set) \
! ((unsigned int) (set)->__val[0])
--- 19,44 ----
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
! static inline int __attribute__ ((unused))
! sigset_set_old_mask (sigset_t *set, int mask)
! {
! unsigned long int *ptr;
! int cnt;
! ptr = &set->__val[0];
!
! *ptr++ = (unsigned int) mask;
!
! cnt = _SIGSET_NWORDS - 2;
! do
! *ptr++ = 0ul;
! while (--cnt >= 0);
!
! return 0;
! }
!
! static inline int __attribute__ ((unused))
! sigset_get_old_mask (const sigset_t *set)
! {
! return (unsigned int) set->__val[0];
! }
diff -r -c3 glibc-20020828.bak/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h glibc-20020828/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h
*** glibc-20020828.bak/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h Tue Aug 27 13:39:15 2002
--- glibc-20020828/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h Fri Aug 30 12:03:39 2002
***************
*** 19,33 ****
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
! #define sigset_set_old_mask(set, mask) \
! ({ \
! unsigned long int *__ptr; \
! __ptr = &(set)->__sigbits[0]; \
! __ptr[0] = (mask); \
! __ptr[1] = 0ul; \
! __ptr[2] = 0ul; \
! __ptr[3] = 0ul; \
! 0; })
! #define sigset_get_old_mask(set) \
! ((unsigned int) (set)->__sigbits[0])
--- 19,37 ----
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
! static inline int __attribute__ ((unused))
! sigset_set_old_mask (sigset_t *set, int mask)
! {
! set->__sigbits[0] = (unsigned int) mask;
! set->__sigbits[1] = 0ul;
! set->__sigbits[2] = 0ul;
! set->__sigbits[3] = 0ul;
! return 0;
! }
!
! static inline int __attribute__ ((unused))
! sigset_get_old_mask (const sigset_t *set)
! {
! return (unsigned int) set->__sigbits[0];
! }
diff -r -c3 glibc-20020828.bak/sysdeps/generic/sigset-cvt-mask.h glibc-20020828/sysdeps/generic/sigset-cvt-mask.h
*** glibc-20020828.bak/sysdeps/generic/sigset-cvt-mask.h Tue Aug 27 13:38:52 2002
--- glibc-20020828/sysdeps/generic/sigset-cvt-mask.h Fri Aug 30 11:50:24 2002
***************
*** 27,33 ****
sigset_set_old_mask (sigset_t *set, int mask)
{
if (sizeof (__sigset_t) == sizeof (unsigned int))
! *set = (unsigned int) (mask);
else
{
register unsigned int __sig;
--- 27,33 ----
sigset_set_old_mask (sigset_t *set, int mask)
{
if (sizeof (__sigset_t) == sizeof (unsigned int))
! *set = (unsigned int) mask;
else
{
register unsigned int __sig;