This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]