mirror of
https://github.com/apache/httpd.git
synced 2025-07-29 12:37:06 +00:00
Increase the default NumSIG value from 32 to 33 on behalf of
OS/390. unix_siglist_init() will now blow up via ap_assert() if NumSIG is too low. (This is no fun to debug!) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85047 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -279,112 +279,115 @@ void unixd_pre_config(void)
|
||||
|
||||
const char *ap_sys_siglist[NumSIG];
|
||||
|
||||
#define store_str(array,index,string) \
|
||||
(ap_assert(index < (sizeof(array)/sizeof(array[0]))),array[index]=string)
|
||||
|
||||
void unixd_siglist_init(void)
|
||||
{
|
||||
int sig;
|
||||
|
||||
ap_sys_siglist[0] = "Signal 0";
|
||||
#ifdef SIGHUP
|
||||
ap_sys_siglist[SIGHUP] = "Hangup";
|
||||
store_str(ap_sys_siglist,SIGHUP,"Hangup");
|
||||
#endif
|
||||
#ifdef SIGINT
|
||||
ap_sys_siglist[SIGINT] = "Interrupt";
|
||||
store_str(ap_sys_siglist,SIGINT,"Interrupt");
|
||||
#endif
|
||||
#ifdef SIGQUIT
|
||||
ap_sys_siglist[SIGQUIT] = "Quit";
|
||||
store_str(ap_sys_siglist,SIGQUIT,"Quit");
|
||||
#endif
|
||||
#ifdef SIGILL
|
||||
ap_sys_siglist[SIGILL] = "Illegal instruction";
|
||||
store_str(ap_sys_siglist,SIGILL,"Illegal instruction");
|
||||
#endif
|
||||
#ifdef SIGTRAP
|
||||
ap_sys_siglist[SIGTRAP] = "Trace/BPT trap";
|
||||
store_str(ap_sys_siglist,SIGTRAP,"Trace/BPT trap");
|
||||
#endif
|
||||
#ifdef SIGIOT
|
||||
ap_sys_siglist[SIGIOT] = "IOT instruction";
|
||||
store_str(ap_sys_siglist,SIGIOT,"IOT instruction");
|
||||
#endif
|
||||
#ifdef SIGABRT
|
||||
ap_sys_siglist[SIGABRT] = "Abort";
|
||||
store_str(ap_sys_siglist,SIGABRT,"Abort");
|
||||
#endif
|
||||
#ifdef SIGEMT
|
||||
ap_sys_siglist[SIGEMT] = "Emulator trap";
|
||||
store_str(ap_sys_siglist,SIGEMT,"Emulator trap");
|
||||
#endif
|
||||
#ifdef SIGFPE
|
||||
ap_sys_siglist[SIGFPE] = "Arithmetic exception";
|
||||
store_str(ap_sys_siglist,SIGFPE,"Arithmetic exception");
|
||||
#endif
|
||||
#ifdef SIGKILL
|
||||
ap_sys_siglist[SIGKILL] = "Killed";
|
||||
store_str(ap_sys_siglist,SIGKILL,"Killed");
|
||||
#endif
|
||||
#ifdef SIGBUS
|
||||
ap_sys_siglist[SIGBUS] = "Bus error";
|
||||
store_str(ap_sys_siglist,SIGBUS,"Bus error");
|
||||
#endif
|
||||
#ifdef SIGSEGV
|
||||
ap_sys_siglist[SIGSEGV] = "Segmentation fault";
|
||||
store_str(ap_sys_siglist,SIGSEGV,"Segmentation fault");
|
||||
#endif
|
||||
#ifdef SIGSYS
|
||||
ap_sys_siglist[SIGSYS] = "Bad system call";
|
||||
store_str(ap_sys_siglist,SIGSYS,"Bad system call");
|
||||
#endif
|
||||
#ifdef SIGPIPE
|
||||
ap_sys_siglist[SIGPIPE] = "Broken pipe";
|
||||
store_str(ap_sys_siglist,SIGPIPE,"Broken pipe");
|
||||
#endif
|
||||
#ifdef SIGALRM
|
||||
ap_sys_siglist[SIGALRM] = "Alarm clock";
|
||||
store_str(ap_sys_siglist,SIGALRM,"Alarm clock");
|
||||
#endif
|
||||
#ifdef SIGTERM
|
||||
ap_sys_siglist[SIGTERM] = "Terminated";
|
||||
store_str(ap_sys_siglist,SIGTERM,"Terminated");
|
||||
#endif
|
||||
#ifdef SIGUSR1
|
||||
ap_sys_siglist[SIGUSR1] = "User defined signal 1";
|
||||
store_str(ap_sys_siglist,SIGUSR1,"User defined signal 1");
|
||||
#endif
|
||||
#ifdef SIGUSR2
|
||||
ap_sys_siglist[SIGUSR2] = "User defined signal 2";
|
||||
store_str(ap_sys_siglist,SIGUSR2,"User defined signal 2");
|
||||
#endif
|
||||
#ifdef SIGCLD
|
||||
ap_sys_siglist[SIGCLD] = "Child status change";
|
||||
store_str(ap_sys_siglist,SIGCLD,"Child status change");
|
||||
#endif
|
||||
#ifdef SIGCHLD
|
||||
ap_sys_siglist[SIGCHLD] = "Child status change";
|
||||
store_str(ap_sys_siglist,SIGCHLD,"Child status change");
|
||||
#endif
|
||||
#ifdef SIGPWR
|
||||
ap_sys_siglist[SIGPWR] = "Power-fail restart";
|
||||
store_str(ap_sys_siglist,SIGPWR,"Power-fail restart");
|
||||
#endif
|
||||
#ifdef SIGWINCH
|
||||
ap_sys_siglist[SIGWINCH] = "Window changed";
|
||||
store_str(ap_sys_siglist,SIGWINCH,"Window changed");
|
||||
#endif
|
||||
#ifdef SIGURG
|
||||
ap_sys_siglist[SIGURG] = "urgent socket condition";
|
||||
store_str(ap_sys_siglist,SIGURG,"urgent socket condition");
|
||||
#endif
|
||||
#ifdef SIGPOLL
|
||||
ap_sys_siglist[SIGPOLL] = "Pollable event occurred";
|
||||
store_str(ap_sys_siglist,SIGPOLL,"Pollable event occurred");
|
||||
#endif
|
||||
#ifdef SIGIO
|
||||
ap_sys_siglist[SIGIO] = "socket I/O possible";
|
||||
store_str(ap_sys_siglist,SIGIO,"socket I/O possible");
|
||||
#endif
|
||||
#ifdef SIGSTOP
|
||||
ap_sys_siglist[SIGSTOP] = "Stopped (signal)";
|
||||
store_str(ap_sys_siglist,SIGSTOP,"Stopped (signal)");
|
||||
#endif
|
||||
#ifdef SIGTSTP
|
||||
ap_sys_siglist[SIGTSTP] = "Stopped";
|
||||
store_str(ap_sys_siglist,SIGTSTP,"Stopped");
|
||||
#endif
|
||||
#ifdef SIGCONT
|
||||
ap_sys_siglist[SIGCONT] = "Continued";
|
||||
store_str(ap_sys_siglist,SIGCONT,"Continued");
|
||||
#endif
|
||||
#ifdef SIGTTIN
|
||||
ap_sys_siglist[SIGTTIN] = "Stopped (tty input)";
|
||||
store_str(ap_sys_siglist,SIGTTIN,"Stopped (tty input)");
|
||||
#endif
|
||||
#ifdef SIGTTOU
|
||||
ap_sys_siglist[SIGTTOU] = "Stopped (tty output)";
|
||||
store_str(ap_sys_siglist,SIGTTOU,"Stopped (tty output)");
|
||||
#endif
|
||||
#ifdef SIGVTALRM
|
||||
ap_sys_siglist[SIGVTALRM] = "virtual timer expired";
|
||||
store_str(ap_sys_siglist,SIGVTALRM,"virtual timer expired");
|
||||
#endif
|
||||
#ifdef SIGPROF
|
||||
ap_sys_siglist[SIGPROF] = "profiling timer expired";
|
||||
store_str(ap_sys_siglist,SIGPROF,"profiling timer expired");
|
||||
#endif
|
||||
#ifdef SIGXCPU
|
||||
ap_sys_siglist[SIGXCPU] = "exceeded cpu limit";
|
||||
store_str(ap_sys_siglist,SIGXCPU,"exceeded cpu limit");
|
||||
#endif
|
||||
#ifdef SIGXFSZ
|
||||
ap_sys_siglist[SIGXFSZ] = "exceeded file size limit";
|
||||
store_str(ap_sys_siglist,SIGXFSZ,"exceeded file size limit");
|
||||
#endif
|
||||
for (sig=0; sig < sizeof(ap_sys_siglist)/sizeof(ap_sys_siglist[0]); ++sig)
|
||||
if (ap_sys_siglist[sig] == NULL)
|
||||
|
@ -95,7 +95,7 @@ const char *unixd_set_group(cmd_parms *cmd, void *dummy, char *arg);
|
||||
#elif defined(__NSIG)
|
||||
#define NumSIG __NSIG
|
||||
#else
|
||||
#define NumSIG 32 /* for 1998's unixes, this is still a good assumption */
|
||||
#define NumSIG 33 /* breaks on OS/390 with < 33; 32 is o.k. for most */
|
||||
#endif
|
||||
|
||||
#ifdef SYS_SIGLIST /* platform has sys_siglist[] */
|
||||
|
Reference in New Issue
Block a user