source: rtems/cpukit/posix/src/psignal.c @ 8d0b7d96

4.104.114.84.95
Last change on this file since 8d0b7d96 was 8d0b7d96, checked in by Joel Sherrill <joel.sherrill@…>, on 12/01/95 at 22:03:55

Insert mode argument to _Watchdog_Insert removed. Now are watchdog timers
are automatically activated upon insertion.

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