version 1.9, 2005/12/13 00:35:22 |
version 1.10, 2005/12/21 19:09:01 |
|
|
|
|
#if defined(__GNUC__) |
#if defined(__GNUC__) |
extern __inline int sigaddset(sigset_t *set, int signo) { |
extern __inline int sigaddset(sigset_t *set, int signo) { |
extern int errno; |
int *__errno(void); |
|
|
if (signo <= 0 || signo >= _NSIG) { |
if (signo <= 0 || signo >= _NSIG) { |
errno = 22; /* EINVAL */ |
*__errno() = 22; /* EINVAL */ |
return -1; |
return -1; |
} |
} |
*set |= (1 << ((signo)-1)); /* sigmask(signo) */ |
*set |= (1 << ((signo)-1)); /* sigmask(signo) */ |
|
|
} |
} |
|
|
extern __inline int sigdelset(sigset_t *set, int signo) { |
extern __inline int sigdelset(sigset_t *set, int signo) { |
extern int errno; |
int *__errno(void); |
|
|
if (signo <= 0 || signo >= _NSIG) { |
if (signo <= 0 || signo >= _NSIG) { |
errno = 22; /* EINVAL */ |
*__errno() = 22; /* EINVAL */ |
return -1; |
return -1; |
} |
} |
*set &= ~(1 << ((signo)-1)); /* sigmask(signo) */ |
*set &= ~(1 << ((signo)-1)); /* sigmask(signo) */ |
|
|
} |
} |
|
|
extern __inline int sigismember(const sigset_t *set, int signo) { |
extern __inline int sigismember(const sigset_t *set, int signo) { |
extern int errno; |
int *__errno(void); |
|
|
if (signo <= 0 || signo >= _NSIG) { |
if (signo <= 0 || signo >= _NSIG) { |
errno = 22; /* EINVAL */ |
*__errno() = 22; /* EINVAL */ |
return -1; |
return -1; |
} |
} |
return ((*set & (1 << ((signo)-1))) != 0); |
return ((*set & (1 << ((signo)-1))) != 0); |