1 | /* $Header: /afs/dev.mit.edu/source/repository/third/tcsh/sh.init.c,v 1.3 2007-10-26 18:25:36 ghudson Exp $ */ |
---|
2 | /* |
---|
3 | * sh.init.c: Function and signal tables |
---|
4 | */ |
---|
5 | /*- |
---|
6 | * Copyright (c) 1980, 1991 The Regents of the University of California. |
---|
7 | * All rights reserved. |
---|
8 | * |
---|
9 | * Redistribution and use in source and binary forms, with or without |
---|
10 | * modification, are permitted provided that the following conditions |
---|
11 | * are met: |
---|
12 | * 1. Redistributions of source code must retain the above copyright |
---|
13 | * notice, this list of conditions and the following disclaimer. |
---|
14 | * 2. Redistributions in binary form must reproduce the above copyright |
---|
15 | * notice, this list of conditions and the following disclaimer in the |
---|
16 | * documentation and/or other materials provided with the distribution. |
---|
17 | * 3. Neither the name of the University nor the names of its contributors |
---|
18 | * may be used to endorse or promote products derived from this software |
---|
19 | * without specific prior written permission. |
---|
20 | * |
---|
21 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
---|
22 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
---|
23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
---|
24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
---|
25 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
---|
26 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
---|
27 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
---|
28 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
---|
29 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
---|
30 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
---|
31 | * SUCH DAMAGE. |
---|
32 | */ |
---|
33 | #include "sh.h" |
---|
34 | |
---|
35 | RCSID("$Id: sh.init.c,v 1.3 2007-10-26 18:25:36 ghudson Exp $") |
---|
36 | |
---|
37 | #include "ed.h" |
---|
38 | #include "tw.h" |
---|
39 | |
---|
40 | /* |
---|
41 | * C shell |
---|
42 | */ |
---|
43 | |
---|
44 | #define INF 0x7fffffff |
---|
45 | |
---|
46 | struct biltins bfunc[] = { |
---|
47 | { ":", dozip, 0, INF }, |
---|
48 | { "@", dolet, 0, INF }, |
---|
49 | { "alias", doalias, 0, INF }, |
---|
50 | #ifdef OBSOLETE |
---|
51 | { "aliases", doaliases, 0, 1, }, |
---|
52 | #endif /* OBSOLETE */ |
---|
53 | { "alloc", showall, 0, 1 }, |
---|
54 | #if defined(_CX_UX) |
---|
55 | { "att", doatt, 0, INF }, |
---|
56 | #endif /* _CX_UX */ |
---|
57 | { "bg", dobg, 0, INF }, |
---|
58 | #ifdef OBSOLETE |
---|
59 | { "bind", dobind, 0, 2 }, |
---|
60 | #endif /* OBSOLETE */ |
---|
61 | { "bindkey", dobindkey, 0, 8 }, |
---|
62 | { "break", dobreak, 0, 0 }, |
---|
63 | { "breaksw", doswbrk, 0, 0 }, |
---|
64 | #ifdef _OSD_POSIX |
---|
65 | { "bs2cmd", dobs2cmd, 1, INF }, |
---|
66 | #endif /* OBSOLETE */ |
---|
67 | { "builtins", dobuiltins, 0, 0 }, |
---|
68 | #ifdef KAI |
---|
69 | { "bye", goodbye, 0, 0 }, |
---|
70 | #endif /* KAI */ |
---|
71 | { "case", dozip, 0, 1 }, |
---|
72 | { "cd", dochngd, 0, INF }, |
---|
73 | { "chdir", dochngd, 0, INF }, |
---|
74 | { "complete", docomplete, 0, INF }, |
---|
75 | { "continue", docontin, 0, 0 }, |
---|
76 | { "default", dozip, 0, 0 }, |
---|
77 | { "dirs", dodirs, 0, INF }, |
---|
78 | #if defined(_CRAY) && !defined(_CRAYMPP) |
---|
79 | { "dmmode", dodmmode, 0, 1 }, |
---|
80 | #endif /* _CRAY && !_CRAYMPP */ |
---|
81 | { "echo", doecho, 0, INF }, |
---|
82 | { "echotc", doechotc, 0, INF }, |
---|
83 | { "else", doelse, 0, INF }, |
---|
84 | { "end", doend, 0, 0 }, |
---|
85 | { "endif", dozip, 0, 0 }, |
---|
86 | { "endsw", dozip, 0, 0 }, |
---|
87 | { "eval", doeval, 0, INF }, |
---|
88 | { "exec", execash, 1, INF }, |
---|
89 | { "exit", doexit, 0, INF }, |
---|
90 | { "fg", dofg, 0, INF }, |
---|
91 | { "filetest", dofiletest, 2, INF }, |
---|
92 | { "foreach", doforeach, 3, INF }, |
---|
93 | #ifdef TCF |
---|
94 | { "getspath", dogetspath, 0, 0 }, |
---|
95 | { "getxvers", dogetxvers, 0, 0 }, |
---|
96 | #endif /* TCF */ |
---|
97 | { "glob", doglob, 0, INF }, |
---|
98 | { "goto", dogoto, 1, 1 }, |
---|
99 | { "hashstat", hashstat, 0, 0 }, |
---|
100 | { "history", dohist, 0, 2 }, |
---|
101 | { "hup", dohup, 0, INF }, |
---|
102 | { "if", doif, 1, INF }, |
---|
103 | #ifdef apollo |
---|
104 | { "inlib", doinlib, 1, INF }, |
---|
105 | #endif /* apollo */ |
---|
106 | { "jobs", dojobs, 0, 1 }, |
---|
107 | { "kill", dokill, 1, INF }, |
---|
108 | #ifndef HAVENOLIMIT |
---|
109 | { "limit", dolimit, 0, 3 }, |
---|
110 | #endif /* !HAVENOLIMIT */ |
---|
111 | #ifdef OBSOLETE |
---|
112 | { "linedit", doecho, 0, INF }, |
---|
113 | #endif /* OBSOLETE */ |
---|
114 | #if !defined(HAVENOUTMP) && !defined(KAI) |
---|
115 | { "log", dolog, 0, 0 }, |
---|
116 | #endif /* !HAVENOUTMP && !KAI */ |
---|
117 | { "login", dologin, 0, 1 }, |
---|
118 | { "logout", dologout, 0, 0 }, |
---|
119 | { "ls-F", dolist, 0, INF }, |
---|
120 | #ifdef TCF |
---|
121 | { "migrate", domigrate, 1, INF }, |
---|
122 | #endif /* TCF */ |
---|
123 | #ifdef NEWGRP |
---|
124 | { "newgrp", donewgrp, 0, 2 }, |
---|
125 | #endif /* NEWGRP */ |
---|
126 | { "nice", donice, 0, INF }, |
---|
127 | { "nohup", donohup, 0, INF }, |
---|
128 | { "notify", donotify, 0, INF }, |
---|
129 | { "onintr", doonintr, 0, 2 }, |
---|
130 | { "popd", dopopd, 0, INF }, |
---|
131 | { "printenv", doprintenv, 0, 1 }, |
---|
132 | { "pushd", dopushd, 0, INF }, |
---|
133 | { "rehash", dohash, 0, 3 }, |
---|
134 | { "repeat", dorepeat, 2, INF }, |
---|
135 | #ifdef apollo |
---|
136 | { "rootnode", dorootnode, 1, 1 }, |
---|
137 | #endif /* apollo */ |
---|
138 | { "sched", dosched, 0, INF }, |
---|
139 | { "set", doset, 0, INF }, |
---|
140 | { "setenv", dosetenv, 0, 2 }, |
---|
141 | #ifdef MACH |
---|
142 | { "setpath", dosetpath, 0, INF }, |
---|
143 | #endif /* MACH */ |
---|
144 | #ifdef TCF |
---|
145 | { "setspath", dosetspath, 1, INF }, |
---|
146 | #endif /* TCF */ |
---|
147 | { "settc", dosettc, 2, 2 }, |
---|
148 | { "setty", dosetty, 0, INF }, |
---|
149 | #ifdef TCF |
---|
150 | { "setxvers", dosetxvers, 0, 1 }, |
---|
151 | #endif /* TCF */ |
---|
152 | { "shift", shift, 0, 1 }, |
---|
153 | { "source", dosource, 1, INF }, |
---|
154 | { "stop", dostop, 1, INF }, |
---|
155 | { "suspend", dosuspend, 0, 0 }, |
---|
156 | { "switch", doswitch, 1, INF }, |
---|
157 | { "telltc", dotelltc, 0, INF }, |
---|
158 | #ifndef WINNT_NATIVE |
---|
159 | { "termname", dotermname, 0, 1 }, |
---|
160 | #endif |
---|
161 | { "time", dotime, 0, INF }, |
---|
162 | #if defined(_CX_UX) |
---|
163 | { "ucb", doucb, 0, INF }, |
---|
164 | #endif /* _CX_UX */ |
---|
165 | { "umask", doumask, 0, 1 }, |
---|
166 | { "unalias", unalias, 1, INF }, |
---|
167 | { "uncomplete", douncomplete, 1, INF }, |
---|
168 | { "unhash", dounhash, 0, 0 }, |
---|
169 | #if defined(masscomp) || defined(_CX_UX) |
---|
170 | { "universe", douniverse, 0, INF }, |
---|
171 | #endif /* masscomp || _CX_UX */ |
---|
172 | #ifndef HAVENOLIMIT |
---|
173 | { "unlimit", dounlimit, 0, INF }, |
---|
174 | #endif /* !HAVENOLIMIT */ |
---|
175 | { "unset", unset, 1, INF }, |
---|
176 | { "unsetenv", dounsetenv, 1, INF }, |
---|
177 | #ifdef apollo |
---|
178 | { "ver", dover, 0, INF }, |
---|
179 | #endif /* apollo */ |
---|
180 | { "wait", dowait, 0, 0 }, |
---|
181 | #ifdef WARP |
---|
182 | { "warp", dowarp, 0, 2 }, |
---|
183 | #endif /* WARP */ |
---|
184 | #if !defined(HAVENOUTMP) && defined(KAI) |
---|
185 | { "watchlog", dolog, 0, 0 }, |
---|
186 | #endif /* !HAVENOUTMP && KAI */ |
---|
187 | { "where", dowhere, 1, INF }, |
---|
188 | { "which", dowhich, 1, INF }, |
---|
189 | { "while", dowhile, 1, INF } |
---|
190 | }; |
---|
191 | int nbfunc = sizeof bfunc / sizeof *bfunc; |
---|
192 | |
---|
193 | struct srch srchn[] = { |
---|
194 | { "@", TC_LET }, |
---|
195 | { "break", TC_BREAK }, |
---|
196 | { "breaksw", TC_BRKSW }, |
---|
197 | { "case", TC_CASE }, |
---|
198 | { "default", TC_DEFAULT }, |
---|
199 | { "else", TC_ELSE }, |
---|
200 | { "end", TC_END }, |
---|
201 | { "endif", TC_ENDIF }, |
---|
202 | { "endsw", TC_ENDSW }, |
---|
203 | { "exit", TC_EXIT }, |
---|
204 | { "foreach", TC_FOREACH }, |
---|
205 | { "goto", TC_GOTO }, |
---|
206 | { "if", TC_IF }, |
---|
207 | { "label", TC_LABEL }, |
---|
208 | { "set", TC_SET }, |
---|
209 | { "switch", TC_SWITCH }, |
---|
210 | { "while", TC_WHILE } |
---|
211 | }; |
---|
212 | int nsrchn = sizeof srchn / sizeof *srchn; |
---|
213 | |
---|
214 | |
---|
215 | /* |
---|
216 | * Note: For some machines, (hpux eg.) |
---|
217 | * NSIG = number of signals + 1... |
---|
218 | * so we define 33 or 65 (POSIX) signals for |
---|
219 | * everybody |
---|
220 | */ |
---|
221 | |
---|
222 | /* We define NUMSIG to avoid changing NSIG or MAXSIG */ |
---|
223 | #if defined(POSIX) && !defined(__CYGWIN__) |
---|
224 | # define NUMSIG 65 |
---|
225 | #else /* !POSIX */ |
---|
226 | # define NUMSIG 33 |
---|
227 | #endif /* POSIX */ |
---|
228 | |
---|
229 | int nsig = NUMSIG - 1; /* This should be the number of real signals */ |
---|
230 | /* not counting signal 0 */ |
---|
231 | struct mesg mesg[NUMSIG]; /* Arrays start at [0] so we initialize from */ |
---|
232 | /* 0 to 32 or 64, the max real signal number */ |
---|
233 | |
---|
234 | void |
---|
235 | mesginit() |
---|
236 | { |
---|
237 | |
---|
238 | #ifdef NLS_CATALOGS |
---|
239 | int i; |
---|
240 | |
---|
241 | for (i = 0; i < NUMSIG; i++) { |
---|
242 | xfree((ptr_t) mesg[i].pname); |
---|
243 | mesg[i].pname = NULL; |
---|
244 | } |
---|
245 | #endif /* NLS_CATALOGS */ |
---|
246 | |
---|
247 | #if defined(SIGNULL) || defined(DECOSF1) |
---|
248 | # ifndef SIGNULL |
---|
249 | # define SIGNULL 0 |
---|
250 | # endif /* !SIGNULL */ |
---|
251 | if (mesg[SIGNULL].pname == NULL) { |
---|
252 | mesg[SIGNULL].iname = "NULL"; |
---|
253 | mesg[SIGNULL].pname = CSAVS(2, 1, "Null signal"); |
---|
254 | } |
---|
255 | #endif /* SIGNULL || DECOSF1 */ |
---|
256 | |
---|
257 | #ifdef SIGHUP |
---|
258 | if (mesg[SIGHUP].pname == NULL) { |
---|
259 | mesg[SIGHUP].iname = "HUP"; |
---|
260 | mesg[SIGHUP].pname = CSAVS(2, 2, "Hangup"); |
---|
261 | } |
---|
262 | #endif /* SIGHUP */ |
---|
263 | |
---|
264 | #ifdef SIGINT |
---|
265 | if (mesg[SIGINT].pname == NULL) { |
---|
266 | mesg[SIGINT].iname = "INT"; |
---|
267 | mesg[SIGINT].pname = CSAVS(2, 3, "Interrupt"); |
---|
268 | } |
---|
269 | #endif /* SIGINT */ |
---|
270 | |
---|
271 | #ifdef SIGQUIT |
---|
272 | if (mesg[SIGQUIT].pname == NULL) { |
---|
273 | mesg[SIGQUIT].iname = "QUIT"; |
---|
274 | mesg[SIGQUIT].pname = CSAVS(2, 4, "Quit"); |
---|
275 | } |
---|
276 | #endif /* SIGQUIT */ |
---|
277 | |
---|
278 | #ifdef SIGILL |
---|
279 | if (mesg[SIGILL].pname == NULL) { |
---|
280 | mesg[SIGILL].iname = "ILL"; |
---|
281 | mesg[SIGILL].pname = CSAVS(2, 5, "Illegal instruction"); |
---|
282 | } |
---|
283 | #endif /* SIGILL */ |
---|
284 | |
---|
285 | #ifdef SIGTRAP |
---|
286 | if (mesg[SIGTRAP].pname == NULL) { |
---|
287 | mesg[SIGTRAP].iname = "TRAP"; |
---|
288 | mesg[SIGTRAP].pname = CSAVS(2, 6, "Trace/BPT trap"); |
---|
289 | } |
---|
290 | #endif /* SIGTRAP */ |
---|
291 | |
---|
292 | #ifdef SIGABRT |
---|
293 | if (mesg[SIGABRT].pname == NULL) { |
---|
294 | mesg[SIGABRT].iname = "ABRT"; |
---|
295 | mesg[SIGABRT].pname = CSAVS(2, 7, "Abort"); |
---|
296 | } |
---|
297 | #endif /* SIGABRT */ |
---|
298 | |
---|
299 | #ifdef SIGIOT |
---|
300 | if (mesg[SIGIOT].pname == NULL) { |
---|
301 | mesg[SIGIOT].iname = "IOT"; |
---|
302 | mesg[SIGIOT].pname = CSAVS(2, 8, "IOT trap"); |
---|
303 | } |
---|
304 | #endif /* SIGIOT */ |
---|
305 | |
---|
306 | #ifdef SIGDANGER |
---|
307 | /* aiws */ |
---|
308 | if (mesg[SIGDANGER].pname == NULL) { |
---|
309 | mesg[SIGDANGER].iname = "DANGER"; |
---|
310 | mesg[SIGDANGER].pname = CSAVS(2, 9, "System Crash Imminent"); |
---|
311 | } |
---|
312 | #endif /* SIGDANGER */ |
---|
313 | |
---|
314 | #ifdef SIGERR |
---|
315 | /* _CRAY */ |
---|
316 | if (mesg[SIGERR].pname == NULL) { |
---|
317 | mesg[SIGERR].iname = "ERR"; |
---|
318 | mesg[SIGERR].pname = CSAVS(2, 10, "Error exit"); |
---|
319 | } |
---|
320 | #endif /* SIGERR */ |
---|
321 | |
---|
322 | #ifdef SIGEMT |
---|
323 | if (mesg[SIGEMT].pname == NULL) { |
---|
324 | mesg[SIGEMT].iname = "EMT"; |
---|
325 | mesg[SIGEMT].pname = CSAVS(2, 11, "EMT trap"); |
---|
326 | } |
---|
327 | #endif /* SIGEMT */ |
---|
328 | |
---|
329 | #ifdef SIGFPE |
---|
330 | if (mesg[SIGFPE].pname == NULL) { |
---|
331 | mesg[SIGFPE].iname = "FPE"; |
---|
332 | mesg[SIGFPE].pname = CSAVS(2, 12, "Floating exception"); |
---|
333 | } |
---|
334 | #endif /* SIGFPE */ |
---|
335 | |
---|
336 | #ifdef SIGKILL |
---|
337 | if (mesg[SIGKILL].pname == NULL) { |
---|
338 | mesg[SIGKILL].iname = "KILL"; |
---|
339 | mesg[SIGKILL].pname = CSAVS(2, 13, "Killed"); |
---|
340 | } |
---|
341 | #endif /* SIGKILL */ |
---|
342 | |
---|
343 | #ifdef SIGUSR1 |
---|
344 | if (mesg[SIGUSR1].pname == NULL) { |
---|
345 | mesg[SIGUSR1].iname = "USR1"; |
---|
346 | mesg[SIGUSR1].pname = CSAVS(2, 14, "User signal 1"); |
---|
347 | } |
---|
348 | #endif /* SIGUSR1 */ |
---|
349 | |
---|
350 | #ifdef SIGUSR2 |
---|
351 | if (mesg[SIGUSR2].pname == NULL) { |
---|
352 | mesg[SIGUSR2].iname = "USR2"; |
---|
353 | mesg[SIGUSR2].pname = CSAVS(2, 15, "User signal 2"); |
---|
354 | } |
---|
355 | #endif /* SIGUSR2 */ |
---|
356 | |
---|
357 | #ifdef SIGSEGV |
---|
358 | if (mesg[SIGSEGV].pname == NULL) { |
---|
359 | mesg[SIGSEGV].iname = "SEGV"; |
---|
360 | mesg[SIGSEGV].pname = CSAVS(2, 16, "Segmentation fault"); |
---|
361 | } |
---|
362 | #endif /* SIGSEGV */ |
---|
363 | |
---|
364 | #ifdef SIGBUS |
---|
365 | if (mesg[SIGBUS].pname == NULL) { |
---|
366 | mesg[SIGBUS].iname = "BUS"; |
---|
367 | mesg[SIGBUS].pname = CSAVS(2, 17, "Bus error"); |
---|
368 | } |
---|
369 | #endif /* SIGBUS */ |
---|
370 | |
---|
371 | #ifdef SIGPRE |
---|
372 | /* _CRAY || IBMAIX */ |
---|
373 | if (mesg[SIGPRE].pname == NULL) { |
---|
374 | mesg[SIGPRE].iname = "PRE"; |
---|
375 | mesg[SIGPRE].pname = CSAVS(2, 18, "Program range error"); |
---|
376 | } |
---|
377 | #endif /* SIGPRE */ |
---|
378 | |
---|
379 | #ifdef SIGORE |
---|
380 | /* _CRAY */ |
---|
381 | if (mesg[SIGORE].pname == NULL) { |
---|
382 | mesg[SIGORE].iname = "ORE"; |
---|
383 | mesg[SIGORE].pname = CSAVS(2, 19, "Operand range error"); |
---|
384 | } |
---|
385 | #endif /* SIGORE */ |
---|
386 | |
---|
387 | #ifdef SIGSYS |
---|
388 | if (mesg[SIGSYS].pname == NULL) { |
---|
389 | mesg[SIGSYS].iname = "SYS"; |
---|
390 | mesg[SIGSYS].pname = CSAVS(2, 20, "Bad system call"); |
---|
391 | } |
---|
392 | #endif /* SIGSYS */ |
---|
393 | |
---|
394 | #ifdef SIGPIPE |
---|
395 | if (mesg[SIGPIPE].pname == NULL) { |
---|
396 | mesg[SIGPIPE].iname = "PIPE"; |
---|
397 | mesg[SIGPIPE].pname = CSAVS(2, 21, "Broken pipe"); |
---|
398 | } |
---|
399 | #endif /* SIGPIPE */ |
---|
400 | |
---|
401 | #ifdef SIGALRM |
---|
402 | if (mesg[SIGALRM].pname == NULL) { |
---|
403 | mesg[SIGALRM].iname = "ALRM"; |
---|
404 | mesg[SIGALRM].pname = CSAVS(2, 22, "Alarm clock"); |
---|
405 | } |
---|
406 | #endif /* SIGALRM */ |
---|
407 | |
---|
408 | #ifdef SIGTERM |
---|
409 | if (mesg[SIGTERM].pname == NULL) { |
---|
410 | mesg[SIGTERM].iname = "TERM"; |
---|
411 | mesg[SIGTERM].pname = CSAVS(2, 23, "Terminated"); |
---|
412 | } |
---|
413 | #endif /* SIGTERM */ |
---|
414 | |
---|
415 | /* SIGCLD vs SIGCHLD */ |
---|
416 | #if !defined(SIGCHLD) || defined(SOLARIS2) || defined(apollo) || defined(__EMX__) |
---|
417 | /* If we don't define SIGCHLD, or our OS prefers SIGCLD to SIGCHLD, */ |
---|
418 | /* check for SIGCLD */ |
---|
419 | # ifdef SIGCLD |
---|
420 | if (mesg[SIGCLD].pname == NULL) { |
---|
421 | mesg[SIGCLD].iname = "CLD"; |
---|
422 | # ifdef BSDJOBS |
---|
423 | mesg[SIGCLD].pname = CSAVS(2, 24, "Child status change"); |
---|
424 | # else /* !BSDJOBS */ |
---|
425 | mesg[SIGCLD].pname = CSAVS(2, 25, "Death of child"); |
---|
426 | # endif /* BSDJOBS */ |
---|
427 | } |
---|
428 | # endif /* SIGCLD */ |
---|
429 | #else /* !(!SIGCHLD || SOLARIS2 || apollo || __EMX__) */ |
---|
430 | /* We probably define SIGCHLD */ |
---|
431 | # ifdef SIGCHLD |
---|
432 | if (mesg[SIGCHLD].pname == NULL) { |
---|
433 | mesg[SIGCHLD].iname = "CHLD"; |
---|
434 | # ifdef BSDJOBS |
---|
435 | mesg[SIGCHLD].pname = CSAVS(2, 27, "Child stopped or exited"); |
---|
436 | # else /* !BSDJOBS */ |
---|
437 | mesg[SIGCHLD].pname = CSAVS(2, 28, "Child exited"); |
---|
438 | # endif /* BSDJOBS */ |
---|
439 | } |
---|
440 | # endif /* SIGCHLD */ |
---|
441 | #endif /* !SIGCHLD || SOLARIS2 || apollo || __EMX__ */ |
---|
442 | |
---|
443 | #ifdef SIGAPOLLO |
---|
444 | /* apollo */ |
---|
445 | if (mesg[SIGAPOLLO].pname == NULL) { |
---|
446 | mesg[SIGAPOLLO].iname = "APOLLO"; |
---|
447 | mesg[SIGAPOLLO].pname = CSAVS(2, 26, "Apollo-specific fault"); |
---|
448 | } |
---|
449 | #endif /* SIGAPOLLO */ |
---|
450 | |
---|
451 | #ifdef SIGPWR |
---|
452 | if (mesg[SIGPWR].pname == NULL) { |
---|
453 | mesg[SIGPWR].iname = "PWR"; |
---|
454 | mesg[SIGPWR].pname = CSAVS(2, 29, "Power failure"); |
---|
455 | } |
---|
456 | #endif /* SIGPWR */ |
---|
457 | |
---|
458 | #ifdef SIGLOST |
---|
459 | if (mesg[SIGLOST].pname == NULL) { |
---|
460 | mesg[SIGLOST].iname = "LOST"; |
---|
461 | mesg[SIGLOST].pname = CSAVS(2, 30, "Resource Lost"); |
---|
462 | } |
---|
463 | #endif /* SIGLOST */ |
---|
464 | |
---|
465 | #ifdef SIGBREAK |
---|
466 | /* __EMX__ */ |
---|
467 | if (mesg[SIGBREAK].pname == NULL) { |
---|
468 | mesg[SIGBREAK].iname = "BREAK"; |
---|
469 | mesg[SIGBREAK].pname = CSAVS(2, 31, "Break (Ctrl-Break)"); |
---|
470 | } |
---|
471 | #endif /* SIGBREAK */ |
---|
472 | |
---|
473 | #ifdef SIGIO |
---|
474 | # if !defined(SIGPOLL) || SIGPOLL != SIGIO |
---|
475 | if (mesg[SIGIO].pname == NULL) { |
---|
476 | mesg[SIGIO].iname = "IO"; |
---|
477 | # ifdef cray |
---|
478 | mesg[SIGIO].pname = CSAVS(2, 32, "Input/output possible signal"); |
---|
479 | # else /* !cray */ |
---|
480 | mesg[SIGIO].pname = CSAVS(2, 33, "Asynchronous I/O (select)"); |
---|
481 | # endif /* cray */ |
---|
482 | } |
---|
483 | # endif /* !SIGPOLL || SIGPOLL != SIGIO */ |
---|
484 | #endif /* SIGIO */ |
---|
485 | |
---|
486 | #ifdef SIGURG |
---|
487 | if (mesg[SIGURG].pname == NULL) { |
---|
488 | mesg[SIGURG].iname = "URG"; |
---|
489 | mesg[SIGURG].pname = CSAVS(2, 34, "Urgent condition on I/O channel"); |
---|
490 | } |
---|
491 | #endif /* SIGURG */ |
---|
492 | |
---|
493 | #ifdef SIGMT |
---|
494 | /* cray */ |
---|
495 | if (mesg[SIGMT].pname == NULL) { |
---|
496 | mesg[SIGMT].iname = "MT"; |
---|
497 | mesg[SIGMT].pname = CSAVS(2, 35, "Multitasking wake-up"); |
---|
498 | } |
---|
499 | #endif /* SIGMT */ |
---|
500 | |
---|
501 | #ifdef SIGMTKILL |
---|
502 | /* cray */ |
---|
503 | if (mesg[SIGMTKILL].pname == NULL) { |
---|
504 | mesg[SIGMTKILL].iname = "MTKILL"; |
---|
505 | mesg[SIGMTKILL].pname = CSAVS(2, 36, "Multitasking kill"); |
---|
506 | } |
---|
507 | #endif /* SIGMTKILL */ |
---|
508 | |
---|
509 | #ifdef SIGBUFIO |
---|
510 | /* _CRAYCOM */ |
---|
511 | if (mesg[SIGBUFIO].pname == NULL) { |
---|
512 | mesg[SIGBUFIO].iname = "BUFIO"; |
---|
513 | mesg[SIGBUFIO].pname = CSAVS(2, 37, |
---|
514 | "Fortran asynchronous I/O completion"); |
---|
515 | } |
---|
516 | #endif /* SIGBUFIO */ |
---|
517 | |
---|
518 | #ifdef SIGRECOVERY |
---|
519 | /* _CRAYCOM */ |
---|
520 | if (mesg[SIGRECOVERY].pname == NULL) { |
---|
521 | mesg[SIGRECOVERY].iname = "RECOVERY"; |
---|
522 | mesg[SIGRECOVERY].pname = CSAVS(2, 38, "Recovery"); |
---|
523 | } |
---|
524 | #endif /* SIGRECOVERY */ |
---|
525 | |
---|
526 | #ifdef SIGUME |
---|
527 | /* _CRAYCOM */ |
---|
528 | if (mesg[SIGUME].pname == NULL) { |
---|
529 | mesg[SIGUME].iname = "UME"; |
---|
530 | mesg[SIGUME].pname = CSAVS(2, 39, "Uncorrectable memory error"); |
---|
531 | } |
---|
532 | #endif /* SIGUME */ |
---|
533 | |
---|
534 | #ifdef SIGCPULIM |
---|
535 | /* _CRAYCOM */ |
---|
536 | if (mesg[SIGCPULIM].pname == NULL) { |
---|
537 | mesg[SIGCPULIM].iname = "CPULIM"; |
---|
538 | mesg[SIGCPULIM].pname = CSAVS(2, 40, "CPU time limit exceeded"); |
---|
539 | } |
---|
540 | #endif /* SIGCPULIM */ |
---|
541 | |
---|
542 | #ifdef SIGSHUTDN |
---|
543 | /* _CRAYCOM */ |
---|
544 | if (mesg[SIGSHUTDN].pname == NULL) { |
---|
545 | mesg[SIGSHUTDN].iname = "SHUTDN"; |
---|
546 | mesg[SIGSHUTDN].pname = CSAVS(2, 41, "System shutdown imminent"); |
---|
547 | } |
---|
548 | #endif /* SIGSHUTDN */ |
---|
549 | |
---|
550 | #ifdef SIGNOWAK |
---|
551 | /* _CRAYCOM */ |
---|
552 | if (mesg[SIGNOWAK].pname == NULL) { |
---|
553 | mesg[SIGNOWAK].iname = "NOWAK"; |
---|
554 | mesg[SIGNOWAK].pname = CSAVS(2, 42, |
---|
555 | "Micro-tasking group-no wakeup flag set"); |
---|
556 | } |
---|
557 | #endif /* SIGNOWAK */ |
---|
558 | |
---|
559 | #ifdef SIGTHERR |
---|
560 | /* _CRAYCOM */ |
---|
561 | if (mesg[SIGTHERR].pname == NULL) { |
---|
562 | mesg[SIGTHERR].iname = "THERR"; |
---|
563 | mesg[SIGTHERR].pname = CSAVS(2, 43, |
---|
564 | "Thread error - (use cord -T for detailed info)"); |
---|
565 | } |
---|
566 | #endif /* SIGTHERR */ |
---|
567 | |
---|
568 | #ifdef SIGRPE |
---|
569 | /* cray */ |
---|
570 | if (mesg[SIGRPE].pname == NULL) { |
---|
571 | mesg[SIGRPE].pname = CSAVS(2, 44, "CRAY Y-MP register parity error"); |
---|
572 | mesg[SIGRPE].iname = "RPE"; |
---|
573 | } |
---|
574 | #endif /* SIGRPE */ |
---|
575 | |
---|
576 | #ifdef SIGINFO |
---|
577 | if (mesg[SIGINFO].pname == NULL) { |
---|
578 | mesg[SIGINFO].iname = "INFO"; |
---|
579 | mesg[SIGINFO].pname = CSAVS(2, 45, "Information request"); |
---|
580 | } |
---|
581 | #endif /* SIGINFO */ |
---|
582 | |
---|
583 | #ifdef SIGSTOP |
---|
584 | if (mesg[SIGSTOP].pname == NULL) { |
---|
585 | mesg[SIGSTOP].iname = "STOP"; |
---|
586 | # ifdef SUSPENDED |
---|
587 | mesg[SIGSTOP].pname = CSAVS(2, 46, "Suspended (signal)"); |
---|
588 | # else /* !SUSPENDED */ |
---|
589 | mesg[SIGSTOP].pname = CSAVS(2, 47, "Stopped (signal)"); |
---|
590 | # endif /* SUSPENDED */ |
---|
591 | } |
---|
592 | #endif /* SIGSTOP */ |
---|
593 | |
---|
594 | #ifdef SIGTSTP |
---|
595 | if (mesg[SIGTSTP].pname == NULL) { |
---|
596 | mesg[SIGTSTP].iname = "TSTP"; |
---|
597 | # ifdef SUSPENDED |
---|
598 | mesg[SIGTSTP].pname = CSAVS(2, 48, "Suspended"); |
---|
599 | # else /* !SUSPENDED */ |
---|
600 | mesg[SIGTSTP].pname = CSAVS(2, 49, "Stopped"); |
---|
601 | # endif /* SUSPENDED */ |
---|
602 | } |
---|
603 | #endif /* SIGTSTP */ |
---|
604 | |
---|
605 | #ifdef SIGCONT |
---|
606 | if (mesg[SIGCONT].pname == NULL) { |
---|
607 | mesg[SIGCONT].iname = "CONT"; |
---|
608 | mesg[SIGCONT].pname = CSAVS(2, 50, "Continued"); |
---|
609 | } |
---|
610 | #endif /* SIGCONT */ |
---|
611 | |
---|
612 | #ifdef SIGTTIN |
---|
613 | if (mesg[SIGTTIN].pname == NULL) { |
---|
614 | mesg[SIGTTIN].iname = "TTIN"; |
---|
615 | # ifdef SUSPENDED |
---|
616 | mesg[SIGTTIN].pname = CSAVS(2, 51, "Suspended (tty input)"); |
---|
617 | # else /* !SUSPENDED */ |
---|
618 | mesg[SIGTTIN].pname = CSAVS(2, 52, "Stopped (tty input)"); |
---|
619 | # endif /* SUSPENDED */ |
---|
620 | } |
---|
621 | #endif /* SIGTTIN */ |
---|
622 | |
---|
623 | #ifdef SIGTTOU |
---|
624 | if (mesg[SIGTTOU].pname == NULL) { |
---|
625 | mesg[SIGTTOU].iname = "TTOU"; |
---|
626 | # ifdef SUSPENDED |
---|
627 | mesg[SIGTTOU].pname = CSAVS(2, 53, "Suspended (tty output)"); |
---|
628 | # else /* SUSPENDED */ |
---|
629 | mesg[SIGTTOU].pname = CSAVS(2, 54, "Stopped (tty output)"); |
---|
630 | # endif /* SUSPENDED */ |
---|
631 | } |
---|
632 | #endif /* SIGTTOU */ |
---|
633 | |
---|
634 | #ifdef SIGWIND |
---|
635 | /* UNIXPC */ |
---|
636 | if (mesg[SIGWIND].pname == NULL) { |
---|
637 | mesg[SIGWIND].iname = "WIND"; |
---|
638 | mesg[SIGWIND].pname = CSAVS(2, 55, "Window status changed"); |
---|
639 | } |
---|
640 | #endif /* SIGWIND */ |
---|
641 | |
---|
642 | #ifdef SIGWINDOW |
---|
643 | if (mesg[SIGWINDOW].pname == NULL) { |
---|
644 | mesg[SIGWINDOW].iname = "WINDOW"; |
---|
645 | mesg[SIGWINDOW].pname = CSAVS(2, 56, "Window size changed"); |
---|
646 | } |
---|
647 | #endif /* SIGWINDOW */ |
---|
648 | |
---|
649 | #ifdef SIGWINCH |
---|
650 | if (mesg[SIGWINCH].pname == NULL) { |
---|
651 | mesg[SIGWINCH].iname = "WINCH"; |
---|
652 | mesg[SIGWINCH].pname = CSAVS(2, 56, "Window size changed"); |
---|
653 | } |
---|
654 | #endif /* SIGWINCH */ |
---|
655 | |
---|
656 | #ifdef SIGPHONE |
---|
657 | /* UNIXPC */ |
---|
658 | if (mesg[SIGPHONE].pname == NULL) { |
---|
659 | mesg[SIGPHONE].iname = "PHONE"; |
---|
660 | mesg[SIGPHONE].pname = CSAVS(2, 57, "Phone status changed"); |
---|
661 | } |
---|
662 | # endif /* SIGPHONE */ |
---|
663 | |
---|
664 | #ifdef SIGXCPU |
---|
665 | if (mesg[SIGXCPU].pname == NULL) { |
---|
666 | mesg[SIGXCPU].iname = "XCPU"; |
---|
667 | mesg[SIGXCPU].pname = CSAVS(2, 58, "Cputime limit exceeded"); |
---|
668 | } |
---|
669 | #endif /* SIGXCPU */ |
---|
670 | |
---|
671 | #ifdef SIGXFSZ |
---|
672 | if (mesg[SIGXFSZ].pname == NULL) { |
---|
673 | mesg[SIGXFSZ].iname = "XFSZ"; |
---|
674 | mesg[SIGXFSZ].pname = CSAVS(2, 59, "Filesize limit exceeded"); |
---|
675 | } |
---|
676 | #endif /* SIGXFSZ */ |
---|
677 | |
---|
678 | #ifdef SIGVTALRM |
---|
679 | if (mesg[SIGVTALRM].pname == NULL) { |
---|
680 | mesg[SIGVTALRM].iname = "VTALRM"; |
---|
681 | mesg[SIGVTALRM].pname = CSAVS(2, 60, "Virtual time alarm"); |
---|
682 | } |
---|
683 | #endif /* SIGVTALRM */ |
---|
684 | |
---|
685 | #ifdef SIGPROF |
---|
686 | if (mesg[SIGPROF].pname == NULL) { |
---|
687 | mesg[SIGPROF].iname = "PROF"; |
---|
688 | mesg[SIGPROF].pname = CSAVS(2, 61, "Profiling time alarm"); |
---|
689 | } |
---|
690 | #endif /* SIGPROF */ |
---|
691 | |
---|
692 | #ifdef SIGDIL |
---|
693 | /* hpux */ |
---|
694 | if (mesg[SIGDIL].pname == NULL) { |
---|
695 | mesg[SIGDIL].iname = "DIL"; |
---|
696 | mesg[SIGDIL].pname = CSAVS(2, 62, "DIL signal"); |
---|
697 | } |
---|
698 | #endif /* SIGDIL */ |
---|
699 | |
---|
700 | #ifdef SIGPOLL |
---|
701 | if (mesg[SIGPOLL].pname == NULL) { |
---|
702 | mesg[SIGPOLL].iname = "POLL"; |
---|
703 | mesg[SIGPOLL].pname = CSAVS(2, 63, "Pollable event occured"); |
---|
704 | } |
---|
705 | #endif /* SIGPOLL */ |
---|
706 | |
---|
707 | #ifdef SIGWAITING |
---|
708 | /* solaris */ |
---|
709 | if (mesg[SIGWAITING].pname == NULL) { |
---|
710 | mesg[SIGWAITING].iname = "WAITING"; |
---|
711 | mesg[SIGWAITING].pname = CSAVS(2, 64, "Process's lwps are blocked"); |
---|
712 | } |
---|
713 | #endif /* SIGWAITING */ |
---|
714 | |
---|
715 | #ifdef SIGLWP |
---|
716 | /* solaris */ |
---|
717 | if (mesg[SIGLWP].pname == NULL) { |
---|
718 | mesg[SIGLWP].iname = "LWP"; |
---|
719 | mesg[SIGLWP].pname = CSAVS(2, 65, "Special LWP signal"); |
---|
720 | } |
---|
721 | #endif /* SIGLWP */ |
---|
722 | |
---|
723 | #ifdef SIGFREEZE |
---|
724 | /* solaris */ |
---|
725 | if (mesg[SIGFREEZE].pname == NULL) { |
---|
726 | mesg[SIGFREEZE].iname = "FREEZE"; |
---|
727 | mesg[SIGFREEZE].pname = CSAVS(2, 66, "Special CPR Signal"); |
---|
728 | } |
---|
729 | #endif /* SIGFREEZE */ |
---|
730 | |
---|
731 | #ifdef SIGTHAW |
---|
732 | /* solaris */ |
---|
733 | if (mesg[SIGTHAW].pname == NULL) { |
---|
734 | mesg[SIGTHAW].iname = "THAW"; |
---|
735 | mesg[SIGTHAW].pname = CSAVS(2, 67, "Special CPR Signal"); |
---|
736 | } |
---|
737 | #endif /* SIGTHAW */ |
---|
738 | |
---|
739 | #ifdef SIGCANCEL |
---|
740 | /* solaris */ |
---|
741 | if (mesg[SIGCANCEL].pname == NULL) { |
---|
742 | mesg[SIGCANCEL].iname = "CANCEL"; |
---|
743 | mesg[SIGCANCEL].pname = CSAVS(2, 109, |
---|
744 | "Thread cancellation signal used by libthread"); |
---|
745 | } |
---|
746 | #endif /* SIGCANCEL */ |
---|
747 | |
---|
748 | /* |
---|
749 | * Careful, some OS's (HP/UX 10.0) define these as -1 |
---|
750 | */ |
---|
751 | #ifdef SIGRTMIN |
---|
752 | /* |
---|
753 | * Cannot do this at compile time; Solaris2 uses _sysconf for these |
---|
754 | */ |
---|
755 | if (SIGRTMIN > 0 && SIGRTMIN < NUMSIG) { |
---|
756 | if (mesg[SIGRTMIN].pname == NULL) { |
---|
757 | mesg[SIGRTMIN].iname = "RTMIN"; |
---|
758 | mesg[SIGRTMIN].pname = CSAVS(2, 68, "First Realtime Signal"); |
---|
759 | } |
---|
760 | |
---|
761 | if (mesg[SIGRTMIN+1].pname == NULL) { |
---|
762 | mesg[SIGRTMIN+1].iname = "RTMIN+1"; |
---|
763 | mesg[SIGRTMIN+1].pname = CSAVS(2, 69, "Second Realtime Signal"); |
---|
764 | } |
---|
765 | |
---|
766 | if (mesg[SIGRTMIN+2].pname == NULL) { |
---|
767 | mesg[SIGRTMIN+2].iname = "RTMIN+2"; |
---|
768 | mesg[SIGRTMIN+2].pname = CSAVS(2, 70, "Third Realtime Signal"); |
---|
769 | } |
---|
770 | |
---|
771 | if (mesg[SIGRTMIN+3].pname == NULL) { |
---|
772 | mesg[SIGRTMIN+3].iname = "RTMIN+3"; |
---|
773 | mesg[SIGRTMIN+3].pname = CSAVS(2, 71, "Fourth Realtime Signal"); |
---|
774 | } |
---|
775 | } |
---|
776 | #endif /* SIGRTMIN */ |
---|
777 | |
---|
778 | #ifdef SIGRTMAX |
---|
779 | /* |
---|
780 | * Cannot do this at compile time; Solaris2 uses _sysconf for these |
---|
781 | */ |
---|
782 | if (SIGRTMAX > 0 && SIGRTMAX < NUMSIG) { |
---|
783 | if (mesg[SIGRTMAX-3].pname == NULL) { |
---|
784 | mesg[SIGRTMAX-3].iname = "RTMAX-3"; |
---|
785 | mesg[SIGRTMAX-3].pname = CSAVS(2, 72, |
---|
786 | "Fourth Last Realtime Signal"); |
---|
787 | } |
---|
788 | |
---|
789 | if (mesg[SIGRTMAX-2].pname == NULL) { |
---|
790 | mesg[SIGRTMAX-2].iname = "RTMAX-2"; |
---|
791 | mesg[SIGRTMAX-2].pname = CSAVS(2, 73, |
---|
792 | "Third Last Realtime Signal"); |
---|
793 | } |
---|
794 | |
---|
795 | if (mesg[SIGRTMAX-1].pname == NULL) { |
---|
796 | mesg[SIGRTMAX-1].iname = "RTMAX-1"; |
---|
797 | mesg[SIGRTMAX-1].pname = CSAVS(2, 74, |
---|
798 | "Second Last Realtime Signal"); |
---|
799 | } |
---|
800 | |
---|
801 | if (mesg[SIGRTMAX].pname == NULL) { |
---|
802 | mesg[SIGRTMAX].iname = "RTMAX"; |
---|
803 | mesg[SIGRTMAX].pname = CSAVS(2, 75, |
---|
804 | "Last Realtime Signal"); |
---|
805 | } |
---|
806 | } |
---|
807 | #endif /* SIGRTMAX */ |
---|
808 | |
---|
809 | |
---|
810 | #ifdef SIGAIO |
---|
811 | /* aiws */ |
---|
812 | if (mesg[SIGAIO].pname == NULL) { |
---|
813 | mesg[SIGAIO].iname = "AIO"; |
---|
814 | mesg[SIGAIO].pname = CSAVS(2, 76, "LAN Asyncronous I/O"); |
---|
815 | } |
---|
816 | #endif /* SIGAIO */ |
---|
817 | |
---|
818 | #ifdef SIGPTY |
---|
819 | /* aiws */ |
---|
820 | if (mesg[SIGPTY].pname == NULL) { |
---|
821 | mesg[SIGPTY].iname = "PTY"; |
---|
822 | mesg[SIGPTY].pname = CSAVS(2, 77, "PTY read/write availability"); |
---|
823 | } |
---|
824 | #endif /* SIGPTY */ |
---|
825 | |
---|
826 | #ifdef SIGIOINT |
---|
827 | /* aiws */ |
---|
828 | if (mesg[SIGIOINT].pname == NULL) { |
---|
829 | mesg[SIGIOINT].iname = "IOINT"; |
---|
830 | mesg[SIGIOINT].pname = CSAVS(2, 78, "I/O intervention required"); |
---|
831 | } |
---|
832 | #endif /* SIGIOINT */ |
---|
833 | |
---|
834 | #ifdef SIGGRANT |
---|
835 | /* aiws */ |
---|
836 | if (mesg[SIGGRANT].pname == NULL) { |
---|
837 | mesg[SIGGRANT].iname = "GRANT"; |
---|
838 | mesg[SIGGRANT].pname = CSAVS(2, 79, "HFT monitor mode granted"); |
---|
839 | } |
---|
840 | #endif /* SIGGRANT */ |
---|
841 | |
---|
842 | #ifdef SIGRETRACT |
---|
843 | /* aiws */ |
---|
844 | if (mesg[SIGRETRACT].pname == NULL) { |
---|
845 | mesg[SIGRETRACT].iname = "RETRACT"; |
---|
846 | mesg[SIGRETRACT].pname = CSAVS(2, 80, |
---|
847 | "HFT monitor mode should be relinguished"); |
---|
848 | } |
---|
849 | #endif /* SIGRETRACT */ |
---|
850 | |
---|
851 | #ifdef SIGSOUND |
---|
852 | /* aiws */ |
---|
853 | if (mesg[SIGSOUND].pname == NULL) { |
---|
854 | mesg[SIGSOUND].iname = "SOUND"; |
---|
855 | mesg[SIGSOUND].pname = CSAVS(2, 81, "HFT sound control has completed"); |
---|
856 | } |
---|
857 | #endif /* SIGSOUND */ |
---|
858 | |
---|
859 | #ifdef SIGSMSG |
---|
860 | /* aiws */ |
---|
861 | if (mesg[SIGSMSG].pname == NULL) { |
---|
862 | mesg[SIGSMSG].iname = "SMSG"; |
---|
863 | mesg[SIGSMSG].pname = CSAVS(2, 82, "Data in HFT ring buffer"); |
---|
864 | } |
---|
865 | #endif /* SIGMSG */ |
---|
866 | |
---|
867 | #ifdef SIGMIGRATE |
---|
868 | /* IBMAIX */ |
---|
869 | if (mesg[SIGMIGRATE].pname == NULL) { |
---|
870 | mesg[SIGMIGRATE].iname = "MIGRATE"; |
---|
871 | mesg[SIGMIGRATE].pname = CSAVS(2, 83, "Migrate process"); |
---|
872 | } |
---|
873 | #endif /* SIGMIGRATE */ |
---|
874 | |
---|
875 | #ifdef SIGSAK |
---|
876 | /* IBMAIX */ |
---|
877 | if (mesg[SIGSAK].pname == NULL) { |
---|
878 | mesg[SIGSAK].iname = "SAK"; |
---|
879 | mesg[SIGSAK].pname = CSAVS(2, 84, "Secure attention key"); |
---|
880 | } |
---|
881 | #endif /* SIGSAK */ |
---|
882 | |
---|
883 | #ifdef SIGRESCHED |
---|
884 | /* CX/UX */ |
---|
885 | if (mesg[SIGRESCHED].pname == NULL) { |
---|
886 | mesg[SIGRESCHED].iname = "RESCHED"; |
---|
887 | mesg[SIGRESCHED].pname = CSAVS(2, 85, "Reschedule"); |
---|
888 | } |
---|
889 | #endif /* SIGRESCHED */ |
---|
890 | |
---|
891 | #ifdef SIGDEBUG |
---|
892 | /* VMS_POSIX */ |
---|
893 | if (mesg[SIGDEBUG].pname == NULL) { |
---|
894 | mesg[SIGDEBUG].iname = "DEBUG"; |
---|
895 | mesg[SIGDEBUG].pname = CSAVS(2, 86, "Signaling SS$_DEBUG"); |
---|
896 | } |
---|
897 | #endif /* SIGDEBUG */ |
---|
898 | |
---|
899 | #ifdef SIGPRIO |
---|
900 | /* Lynx */ |
---|
901 | if (mesg[SIGPRIO].pname == NULL) { |
---|
902 | mesg[SIGPRIO].iname = "PRIO"; |
---|
903 | mesg[SIGPRIO].pname = CSAVS(2, 87, "Priority changed"); |
---|
904 | } |
---|
905 | #endif /* SIGPRIO */ |
---|
906 | |
---|
907 | #ifdef SIGDLK |
---|
908 | /* cray */ |
---|
909 | if (mesg[SIGDLK].pname == NULL) { |
---|
910 | mesg[SIGDLK].iname = "DLK"; |
---|
911 | mesg[SIGDLK].pname = CSAVS(2, 88, "True deadlock detected"); |
---|
912 | } |
---|
913 | #endif /* SIGDLK */ |
---|
914 | |
---|
915 | #ifdef SIGTINT |
---|
916 | /* masscomp */ |
---|
917 | if (mesg[SIGTINT].pname == NULL) { |
---|
918 | mesg[SIGTINT].iname = "TINT"; |
---|
919 | mesg[SIGTINT].pname = CSAVS(2, 89, "New input character"); |
---|
920 | } |
---|
921 | #endif /* SIGTINT */ |
---|
922 | |
---|
923 | #ifdef SIGSTKFLT |
---|
924 | if (mesg[SIGSTKFLT].pname == NULL) { |
---|
925 | mesg[SIGSTKFLT].iname = "STKFLT"; |
---|
926 | mesg[SIGSTKFLT].pname = CSAVS(2, 90, "Stack limit exceeded"); |
---|
927 | } |
---|
928 | #endif /* SIGSTKFLT */ |
---|
929 | |
---|
930 | #ifdef SIGUNUSED |
---|
931 | if (mesg[SIGUNUSED].pname == NULL) { |
---|
932 | mesg[SIGUNUSED].iname = "UNUSED"; |
---|
933 | mesg[SIGUNUSED].pname = CSAVS(2, 91, "Unused signal"); |
---|
934 | } |
---|
935 | #endif /* SIGUNUSED */ |
---|
936 | |
---|
937 | #ifdef SIGOVLY |
---|
938 | /* SX-4 */ |
---|
939 | if (mesg[SIGOVLY].pname == NULL) { |
---|
940 | mesg[SIGOVLY].iname = "OVLY"; |
---|
941 | mesg[SIGOVLY].pname = CSAVS(2, 92, "LM overlay"); |
---|
942 | } |
---|
943 | #endif /* SIGOVLY */ |
---|
944 | |
---|
945 | #ifdef SIGFRZ |
---|
946 | /* SX-4 */ |
---|
947 | if (mesg[SIGFRZ].pname == NULL) { |
---|
948 | mesg[SIGFRZ].iname = "FRZ"; |
---|
949 | mesg[SIGFRZ].pname = CSAVS(2, 93, "system freeze"); |
---|
950 | } |
---|
951 | #endif /* SIGFRZ */ |
---|
952 | |
---|
953 | #ifdef SIGDFRZ |
---|
954 | /* SX-4 */ |
---|
955 | if (mesg[SIGDFRZ].pname == NULL) { |
---|
956 | mesg[SIGDFRZ].iname = "DFRZ"; |
---|
957 | mesg[SIGDFRZ].pname = CSAVS(2, 94, "system defreeze"); |
---|
958 | } |
---|
959 | #endif /* SIGDFRZ */ |
---|
960 | |
---|
961 | #ifdef SIGDEAD |
---|
962 | /* SX-4 */ |
---|
963 | if (mesg[SIGDEAD].pname == NULL) { |
---|
964 | mesg[SIGDEAD].iname = "DEAD"; |
---|
965 | mesg[SIGDEAD].pname = CSAVS(2, 95, "dead lock"); |
---|
966 | } |
---|
967 | #endif /* SIGDEAD */ |
---|
968 | |
---|
969 | #ifdef SIGXMEM |
---|
970 | /* SX-4 */ |
---|
971 | if (mesg[SIGXMEM].pname == NULL) { |
---|
972 | mesg[SIGXMEM].iname = "XMEM"; |
---|
973 | mesg[SIGXMEM].pname = CSAVS(2, 96, "exceeded memory size limit"); |
---|
974 | } |
---|
975 | #endif /* SIGXMEM */ |
---|
976 | |
---|
977 | #ifdef SIGXDSZ |
---|
978 | /* SX-4 */ |
---|
979 | if (mesg[SIGXDSZ].pname == NULL) { |
---|
980 | mesg[SIGXDSZ].iname = "XDSZ"; |
---|
981 | mesg[SIGXDSZ].pname = CSAVS(2, 97, "exceeded data size limit"); |
---|
982 | } |
---|
983 | #endif /* SIGXDSZ */ |
---|
984 | |
---|
985 | #ifdef SIGMEM32 |
---|
986 | /* SX-4 */ |
---|
987 | if (mesg[SIGMEM32].pname == NULL) { |
---|
988 | mesg[SIGMEM32].iname = "MEM32"; |
---|
989 | mesg[SIGMEM32].pname = CSAVS(2, 98, "exceeded memory size limit of 32KB"); |
---|
990 | } |
---|
991 | #endif /* SIGMEM32 */ |
---|
992 | |
---|
993 | #ifdef SIGNMEM |
---|
994 | /* SX-4 */ |
---|
995 | if (mesg[SIGNMEM].pname == NULL) { |
---|
996 | mesg[SIGNMEM].iname = "NMEM"; |
---|
997 | mesg[SIGNMEM].pname = CSAVS(2, 99, "exce error for no memory"); |
---|
998 | } |
---|
999 | #endif /* SIGNMEM */ |
---|
1000 | |
---|
1001 | #ifdef SIGCHKP |
---|
1002 | /* SX-4 */ |
---|
1003 | if (mesg[SIGCHKP].pname == NULL) { |
---|
1004 | mesg[SIGCHKP].iname = "CHKP"; |
---|
1005 | mesg[SIGCHKP].pname = CSAVS(2, 100, "check point start"); |
---|
1006 | } |
---|
1007 | #endif /* SIGCHKP */ |
---|
1008 | |
---|
1009 | #ifdef SIGKCHKP |
---|
1010 | #if 0 |
---|
1011 | /* SX-4 */ |
---|
1012 | if (mesg[SIGKCHKP].pname == NULL) { |
---|
1013 | mesg[SIGKCHKP].iname = "KCHKP"; |
---|
1014 | mesg[SIGKCHKP].pname = CSAVS(2, 101, "check point start of kernel"); |
---|
1015 | } |
---|
1016 | #endif |
---|
1017 | #endif /* SIGKCHKP */ |
---|
1018 | |
---|
1019 | #ifdef SIGRSTA |
---|
1020 | /* SX-4 */ |
---|
1021 | if (mesg[SIGRSTA].pname == NULL) { |
---|
1022 | mesg[SIGRSTA].iname = "RSTA"; |
---|
1023 | mesg[SIGRSTA].pname = CSAVS(2, 102, "restart start"); |
---|
1024 | } |
---|
1025 | #endif /* SIGRSTA */ |
---|
1026 | |
---|
1027 | #ifdef SIGKRSTA |
---|
1028 | #if 0 |
---|
1029 | /* SX-4 */ |
---|
1030 | if (mesg[SIGKRSTA].pname == NULL) { |
---|
1031 | mesg[SIGKRSTA].iname = "KRSTA"; |
---|
1032 | mesg[SIGKRSTA].pname = CSAVS(2, 103, "restart of kernel"); |
---|
1033 | } |
---|
1034 | #endif |
---|
1035 | #endif /* SIGKRSTA */ |
---|
1036 | |
---|
1037 | #ifdef SIGXXMU |
---|
1038 | /* SX-4 */ |
---|
1039 | if (mesg[SIGXXMU].pname == NULL) { |
---|
1040 | mesg[SIGXXMU].iname = "XXMU"; |
---|
1041 | mesg[SIGXXMU].pname = CSAVS(2, 104, "exeeded XMU size limit"); |
---|
1042 | } |
---|
1043 | #endif /* SIGXXMU */ |
---|
1044 | |
---|
1045 | #ifdef SIGXRLG0 |
---|
1046 | /* SX-4 */ |
---|
1047 | if (mesg[SIGXRLG0].pname == NULL) { |
---|
1048 | mesg[SIGXRLG0].iname = "XRLG0"; |
---|
1049 | mesg[SIGXRLG0].pname = CSAVS(2, 105, "exeeded RLG0 limit"); |
---|
1050 | } |
---|
1051 | #endif /* SIGXRLG0 */ |
---|
1052 | |
---|
1053 | #ifdef SIGXRLG1 |
---|
1054 | /* SX-4 */ |
---|
1055 | if (mesg[SIGXRLG1].pname == NULL) { |
---|
1056 | mesg[SIGXRLG1].iname = "XRLG1"; |
---|
1057 | mesg[SIGXRLG1].pname = CSAVS(2, 106, "exeeded RLG1 limit"); |
---|
1058 | } |
---|
1059 | #endif /* SIGXRLG1 */ |
---|
1060 | |
---|
1061 | #ifdef SIGXRLG2 |
---|
1062 | /* SX-4 */ |
---|
1063 | if (mesg[SIGXRLG2].pname == NULL) { |
---|
1064 | mesg[SIGXRLG2].iname = "XRLG2"; |
---|
1065 | mesg[SIGXRLG2].pname = CSAVS(2, 107, "exeeded RLG2 limit"); |
---|
1066 | } |
---|
1067 | #endif /* SIGXRLG2 */ |
---|
1068 | |
---|
1069 | #ifdef SIGXRLG3 |
---|
1070 | /* SX-4 */ |
---|
1071 | if (mesg[SIGXRLG3].pname == NULL) { |
---|
1072 | mesg[SIGXRLG3].iname = "XRLG3"; |
---|
1073 | mesg[SIGXRLG3].pname = CSAVS(2, 108, "exeeded RLG3 limit"); |
---|
1074 | } |
---|
1075 | #endif /* SIGXRLG3 */ |
---|
1076 | } |
---|