OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [unix/] [sigset.c] - Blame information for rev 1773

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1010 ivang
#include <signal.h>
2
#include <errno.h>
3
 
4
#ifdef SIG_SETMASK      /* easier than trying to remove from Makefile */
5
 
6
#undef sigemptyset
7
int
8
sigemptyset (sigset_t * set)
9
{
10
  *set = (sigset_t) 0;
11
  return 0;
12
}
13
 
14
int
15
sigfillset (sigset_t * set)
16
{
17
  *set = ~((sigset_t) 0);
18
  return 0;
19
}
20
 
21
#undef sigaddset
22
int
23
sigaddset (sigset_t * set, int signo)
24
{
25
  if (signo >= NSIG || signo <= 0)
26
    {
27
      errno = EINVAL;
28
      return -1;
29
    }
30
  *set |= 1 << (signo - 1);
31
  return 0;
32
}
33
 
34
int
35
sigdelset (sigset_t * set, int signo)
36
{
37
  if (signo >= NSIG || signo <= 0)
38
    {
39
      errno = EINVAL;
40
      return -1;
41
    }
42
  *set &= ~(1 << (signo - 1));
43
  return 0;
44
}
45
 
46
int
47
sigismember (const sigset_t * set, int signo)
48
{
49
  if (signo >= NSIG || signo <= 0)
50
    {
51
      errno = EINVAL;
52
      return -1;
53
    }
54
 
55
  if (*set & (1 << (signo - 1)))
56
    return 1;
57
  else
58
    return 0;
59
}
60
 
61
#endif /* SIG_SETMASK */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.