source: rtems/c/src/exec/posix/src/psignal.c @ 5600661

4.104.114.84.95
Last change on this file since 5600661 was 5600661, checked in by Joel Sherrill <joel.sherrill@…>, on 05/30/96 at 20:48:10

First cut at implementing time, clock_gettime, clock_settime, clock_getres,
sleep, and nanosleep. Does not yet support per process clock, per thread
clock, interruptible sleep (sleep/nanosleep), or time remaining on nanosleep.

  • Property mode set to 100644
File size: 3.7 KB
Line 
1/*
2 *  $Id$
3 */
4
5#include <signal.h>
6
7#include <rtems/system.h>
8#include <rtems/score/thread.h>
9
10/*
11 *  3.3.2 Send a Signal to a Process, P1003.1b-1993, p. 68
12 *
13 *  NOTE: Behavior of kill() depends on _POSIX_SAVED_IDS.
14 */
15
16int kill(
17  pid_t pid,
18  int   sig
19)
20{
21  /* SIGABRT comes from abort via assert */
22  if ( sig == SIGABRT ) {
23    exit( 1 );
24  }
25  return POSIX_NOT_IMPLEMENTED();
26}
27
28/*
29 *  3.3.3 Manipulate Signal Sets, P1003.1b-1993, p. 69
30 */
31
32int sigemptyset(
33  sigset_t   *set
34)
35{
36  return POSIX_NOT_IMPLEMENTED();
37}
38
39/*
40 *  3.3.3 Manipulate Signal Sets, P1003.1b-1993, p. 69
41 */
42
43int sigfillset(
44  sigset_t   *set
45)
46{
47  return POSIX_NOT_IMPLEMENTED();
48}
49
50/*
51 *  3.3.3 Manipulate Signal Sets, P1003.1b-1993, p. 69
52 */
53
54int sigaddset(
55  sigset_t   *set,
56  int         signo
57)
58{
59  return POSIX_NOT_IMPLEMENTED();
60}
61
62/*
63 *  3.3.3 Manipulate Signal Sets, P1003.1b-1993, p. 69
64 */
65
66int sigdelset(
67  sigset_t   *set,
68  int         signo
69)
70{
71  return POSIX_NOT_IMPLEMENTED();
72}
73
74/*
75 *  3.3.3 Manipulate Signal Sets, P1003.1b-1993, p. 69
76 */
77
78int sigismember(
79  const sigset_t   *set,
80  int               signo
81)
82{
83  return POSIX_NOT_IMPLEMENTED();
84}
85
86/*
87 *  3.3.4 Examine and Change Signal Action, P1003.1b-1993, p. 70
88 */
89
90int sigaction(
91  int                     sig,
92  const struct sigaction *act,
93  struct sigaction       *oact
94)
95{
96  return POSIX_NOT_IMPLEMENTED();
97}
98
99/*
100 *  3.3.5 Examine and Change Blocked Signals, P1003.1b-1993, p. 73
101 *
102 *  NOTE: P1003.1c/D10, p. 37 adds pthread_sigmask().
103 */
104
105int sigprocmask(
106  int               how,
107  const sigset_t   *set,
108  sigset_t         *oset
109)
110{
111  return POSIX_NOT_IMPLEMENTED();
112}
113
114/*
115 *  3.3.5 Examine and Change Blocked Signals, P1003.1b-1993, p. 73
116 *
117 *  NOTE: P1003.1c/D10, p. 37 adds pthread_sigmask().
118 */
119
120int pthread_sigmask(
121  int               how,
122  const sigset_t   *set,
123  sigset_t         *oset
124)
125{
126  return POSIX_NOT_IMPLEMENTED();
127}
128
129/*
130 *  3.3.6 Examine Pending Signals, P1003.1b-1993, p. 75
131 */
132
133int sigpending(
134  sigset_t  *set
135)
136{
137  return POSIX_NOT_IMPLEMENTED();
138}
139
140/*
141 *  3.3.7 Wait for a Signal, P1003.1b-1993, p. 75
142 */
143
144int sigsuspend(
145  const sigset_t  *sigmask
146)
147{
148  return POSIX_NOT_IMPLEMENTED();
149}
150
151/*
152 *  3.3.8 Synchronously Accept a Signal, P1003.1b-1993, p. 76
153 *
154 *  NOTE: P1003.1c/D10, p. 39 adds sigwait().
155 */
156
157int sigwaitinfo(
158  const sigset_t  *set,
159  siginfo_t       *info
160)
161{
162  return POSIX_NOT_IMPLEMENTED();
163}
164
165/*
166 *  3.3.8 Synchronously Accept a Signal, P1003.1b-1993, p. 76
167 *
168 *  NOTE: P1003.1c/D10, p. 39 adds sigwait().
169 */
170
171int sigtimedwait(
172  const sigset_t         *set,
173  siginfo_t              *info,
174  const struct timespec  *timeout
175)
176{
177  return POSIX_NOT_IMPLEMENTED();
178}
179
180/*
181 *  3.3.8 Synchronously Accept a Signal, P1003.1b-1993, p. 76
182 *
183 *  NOTE: P1003.1c/D10, p. 39 adds sigwait().
184 */
185
186int sigwait(
187  const sigset_t  *set,
188  int             *sig
189)
190{
191  return POSIX_NOT_IMPLEMENTED();
192}
193
194/*
195 *  3.3.9 Queue a Signal to a Process, P1003.1b-1993, p. 78
196 */
197
198int sigqueue(
199  pid_t               pid,
200  int                 signo,
201  const union sigval  value
202)
203{
204  return POSIX_NOT_IMPLEMENTED();
205}
206
207/*
208 *  3.3.10 Send a Signal to a Thread, P1003.1c/D10, p. 43
209 */
210
211int pthread_kill(
212  pthread_t   thread,
213  int         sig
214)
215{
216  return POSIX_NOT_IMPLEMENTED();
217}
218
219/*
220 *  3.4.1 Schedule Alarm, P1003.1b-1993, p. 79
221 */
222
223unsigned int alarm(
224  unsigned int seconds
225)
226{
227  return POSIX_NOT_IMPLEMENTED();
228}
229
230/*
231 *  3.4.2 Suspend Process Execution, P1003.1b-1993, p. 80
232 */
233
234int pause( void )
235{
236  return POSIX_NOT_IMPLEMENTED();
237}
238
239/*
240 *  3.4.3 Delay Process Execution, P1003.1b-1993, p. 73
241 */
242
243unsigned int sleep(
244  unsigned int seconds
245)
246{
247  /* XXX can we get away with this implementation? */
248  struct timespec tp;
249
250  tp.tv_sec = seconds;
251  tp.tv_nsec = 0;
252
253  return nanosleep( &tp, NULL );
254}
Note: See TracBrowser for help on using the repository browser.