Commit 940ec287 authored by Greg Stein's avatar Greg Stein
Browse files

toss the signal description stuff from unixd.[ch], beosd.h, and spmt_os2.

use the new functionality in APR.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88079 13f79535-47bb-0310-9956-ffa450edef68
parent 478fa00d
Loading
Loading
Loading
Loading
+3 −15
Original line number Diff line number Diff line
@@ -56,8 +56,8 @@
 * University of Illinois, Urbana-Champaign.
 */

#ifndef UNIXD_H
#define UNIXD_H
#ifndef BEOSD_H
#define BEOSD_H

/* common stuff that beos MPMs will want */

@@ -84,18 +84,6 @@ void beosd_pre_config(void);
const char *beosd_set_user(cmd_parms *cmd, void *dummy, char *arg);
const char *beosd_set_group(cmd_parms *cmd, void *dummy, char *arg);

#if defined(NSIG)
#define NumSIG NSIG
#elif defined(_NSIG)
#define NumSIG _NSIG
#elif defined(__NSIG)
#define NumSIG __NSIG
#else
#define NumSIG 32   /* for 1998's unixes, this is still a good assumption */
#endif

#define INIT_SIGLIST()  /* nothing */

#define beosd_killpg(x, y)	(kill (-(x), (y)))

#define UNIX_DAEMON_COMMANDS	\
@@ -104,4 +92,4 @@ const char *beosd_set_group(cmd_parms *cmd, void *dummy, char *arg);
{ "Group", beosd_set_group, NULL, RSRC_CONF, TAKE1, \
  "Effective group id for this server"}, \

#endif
#endif /* BEOSD_H */
+1 −7
Original line number Diff line number Diff line
@@ -3,11 +3,5 @@ if test "$OS" = "unix" ; then

    AC_CHECK_HEADERS(sys/time.h sys/resource.h)

    AC_CHECK_FUNCS( \
    setsid \
    killpg \
    )
    
    dnl XXX - This doesn't deal with _sys_siglist. Maybe have to roll our own
    AC_DECL_SYS_SIGLIST
    AC_CHECK_FUNCS(setsid, killpg)
fi
+0 −119
Original line number Diff line number Diff line
@@ -241,125 +241,6 @@ void unixd_pre_config(apr_pool_t *ptemp)
    /* } */
}

#ifdef NEED_AP_SYS_SIGLIST

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
    store_str(ap_sys_siglist,SIGHUP,"Hangup");
#endif
#ifdef SIGINT
    store_str(ap_sys_siglist,SIGINT,"Interrupt");
#endif
#ifdef SIGQUIT
    store_str(ap_sys_siglist,SIGQUIT,"Quit");
#endif
#ifdef SIGILL
    store_str(ap_sys_siglist,SIGILL,"Illegal instruction");
#endif
#ifdef SIGTRAP
    store_str(ap_sys_siglist,SIGTRAP,"Trace/BPT trap");
#endif
#ifdef SIGIOT
    store_str(ap_sys_siglist,SIGIOT,"IOT instruction");
#endif
#ifdef SIGABRT
    store_str(ap_sys_siglist,SIGABRT,"Abort");
#endif
#ifdef SIGEMT
    store_str(ap_sys_siglist,SIGEMT,"Emulator trap");
#endif
#ifdef SIGFPE
    store_str(ap_sys_siglist,SIGFPE,"Arithmetic exception");
#endif
#ifdef SIGKILL
    store_str(ap_sys_siglist,SIGKILL,"Killed");
#endif
#ifdef SIGBUS
    store_str(ap_sys_siglist,SIGBUS,"Bus error");
#endif
#ifdef SIGSEGV
    store_str(ap_sys_siglist,SIGSEGV,"Segmentation fault");
#endif
#ifdef SIGSYS
    store_str(ap_sys_siglist,SIGSYS,"Bad system call");
#endif
#ifdef SIGPIPE
    store_str(ap_sys_siglist,SIGPIPE,"Broken pipe");
#endif
#ifdef SIGALRM
    store_str(ap_sys_siglist,SIGALRM,"Alarm clock");
#endif
#ifdef SIGTERM
    store_str(ap_sys_siglist,SIGTERM,"Terminated");
#endif
#ifdef SIGUSR1
    store_str(ap_sys_siglist,SIGUSR1,"User defined signal 1");
#endif
#ifdef SIGUSR2
    store_str(ap_sys_siglist,SIGUSR2,"User defined signal 2");
#endif
#ifdef SIGCLD
    store_str(ap_sys_siglist,SIGCLD,"Child status change");
#endif
#ifdef SIGCHLD
    store_str(ap_sys_siglist,SIGCHLD,"Child status change");
#endif
#ifdef SIGPWR
    store_str(ap_sys_siglist,SIGPWR,"Power-fail restart");
#endif
#ifdef SIGWINCH
    store_str(ap_sys_siglist,SIGWINCH,"Window changed");
#endif
#ifdef SIGURG
    store_str(ap_sys_siglist,SIGURG,"urgent socket condition");
#endif
#ifdef SIGPOLL
    store_str(ap_sys_siglist,SIGPOLL,"Pollable event occurred");
#endif
#ifdef SIGIO
    store_str(ap_sys_siglist,SIGIO,"socket I/O possible");
#endif
#ifdef SIGSTOP
    store_str(ap_sys_siglist,SIGSTOP,"Stopped (signal)");
#endif
#ifdef SIGTSTP
    store_str(ap_sys_siglist,SIGTSTP,"Stopped");
#endif
#ifdef SIGCONT
    store_str(ap_sys_siglist,SIGCONT,"Continued");
#endif
#ifdef SIGTTIN
    store_str(ap_sys_siglist,SIGTTIN,"Stopped (tty input)");
#endif
#ifdef SIGTTOU
    store_str(ap_sys_siglist,SIGTTOU,"Stopped (tty output)");
#endif
#ifdef SIGVTALRM
    store_str(ap_sys_siglist,SIGVTALRM,"virtual timer expired");
#endif
#ifdef SIGPROF
    store_str(ap_sys_siglist,SIGPROF,"profiling timer expired");
#endif
#ifdef SIGXCPU
    store_str(ap_sys_siglist,SIGXCPU,"exceeded cpu limit");
#endif
#ifdef SIGXFSZ
    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)
            ap_sys_siglist[sig] = "";
}
#endif /* NEED_AP_SYS_SIGLIST */

AP_DECLARE(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit, 
                           const char *arg, const char * arg2, int type)
+0 −24
Original line number Diff line number Diff line
@@ -112,30 +112,6 @@ AP_DECLARE(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit,
                           const char *arg, const char * arg2, int type);
#endif

/* Information on signals for the various platforms */

#if defined(NSIG)
#define NumSIG NSIG
#elif defined(_NSIG)
#define NumSIG _NSIG
#elif defined(__NSIG)
#define NumSIG __NSIG
#else
#define NumSIG 33   /* breaks on OS/390 with < 33; 32 is o.k. for most */
#endif

#ifdef SYS_SIGLIST /* platform has sys_siglist[] */
#define INIT_SIGLIST()  /* nothing */
#elif defined(SYS_SIGLIST_DECLARED) /* from autoconf */
#define INIT_SIGLIST()  /* nothing */
#define SYS_SIGLIST sys_siglist
#else
#define NEED_AP_SYS_SIGLIST
extern const char *ap_sys_siglist[NumSIG];
#define SYS_SIGLIST ap_sys_siglist
void unixd_siglist_init(void);
#define INIT_SIGLIST() unixd_siglist_init();
#endif /* platform has sys_siglist[] */

#ifdef HAVE_KILLPG
#define unixd_killpg(x, y)	(killpg ((x), (y)))
+0 −132
Original line number Diff line number Diff line
@@ -271,137 +271,6 @@ static int wait_or_timeout(apr_wait_t *status)
}


#if defined(NSIG)
#define NumSIG NSIG
#elif defined(_NSIG)
#define NumSIG _NSIG
#elif defined(__NSIG)
#define NumSIG __NSIG
#else
#define NumSIG 32   /* for 1998's unixes, this is still a good assumption */
#endif

#ifdef SYS_SIGLIST /* platform has sys_siglist[] */
#define INIT_SIGLIST()  /*nothing*/
#else /* platform has no sys_siglist[], define our own */
#define SYS_SIGLIST ap_sys_siglist
#define INIT_SIGLIST() siglist_init();

const char *ap_sys_siglist[NumSIG];

static void siglist_init(void)
{
    int sig;

    ap_sys_siglist[0] = "Signal 0";
#ifdef SIGHUP
    ap_sys_siglist[SIGHUP] = "Hangup";
#endif
#ifdef SIGINT
    ap_sys_siglist[SIGINT] = "Interrupt";
#endif
#ifdef SIGQUIT
    ap_sys_siglist[SIGQUIT] = "Quit";
#endif
#ifdef SIGILL
    ap_sys_siglist[SIGILL] = "Illegal instruction";
#endif
#ifdef SIGTRAP
    ap_sys_siglist[SIGTRAP] = "Trace/BPT trap";
#endif
#ifdef SIGIOT
    ap_sys_siglist[SIGIOT] = "IOT instruction";
#endif
#ifdef SIGABRT
    ap_sys_siglist[SIGABRT] = "Abort";
#endif
#ifdef SIGEMT
    ap_sys_siglist[SIGEMT] = "Emulator trap";
#endif
#ifdef SIGFPE
    ap_sys_siglist[SIGFPE] = "Arithmetic exception";
#endif
#ifdef SIGKILL
    ap_sys_siglist[SIGKILL] = "Killed";
#endif
#ifdef SIGBUS
    ap_sys_siglist[SIGBUS] = "Bus error";
#endif
#ifdef SIGSEGV
    ap_sys_siglist[SIGSEGV] = "Segmentation fault";
#endif
#ifdef SIGSYS
    ap_sys_siglist[SIGSYS] = "Bad system call";
#endif
#ifdef SIGPIPE
    ap_sys_siglist[SIGPIPE] = "Broken pipe";
#endif
#ifdef SIGALRM
    ap_sys_siglist[SIGALRM] = "Alarm clock";
#endif
#ifdef SIGTERM
    ap_sys_siglist[SIGTERM] = "Terminated";
#endif
#ifdef SIGUSR1
    ap_sys_siglist[SIGUSR1] = "User defined signal 1";
#endif
#ifdef SIGUSR2
    ap_sys_siglist[SIGUSR2] = "User defined signal 2";
#endif
#ifdef SIGCLD
    ap_sys_siglist[SIGCLD] = "Child status change";
#endif
#ifdef SIGCHLD
    ap_sys_siglist[SIGCHLD] = "Child status change";
#endif
#ifdef SIGPWR
    ap_sys_siglist[SIGPWR] = "Power-fail restart";
#endif
#ifdef SIGWINCH
    ap_sys_siglist[SIGWINCH] = "Window changed";
#endif
#ifdef SIGURG
    ap_sys_siglist[SIGURG] = "urgent socket condition";
#endif
#ifdef SIGPOLL
    ap_sys_siglist[SIGPOLL] = "Pollable event occurred";
#endif
#ifdef SIGIO
    ap_sys_siglist[SIGIO] = "socket I/O possible";
#endif
#ifdef SIGSTOP
    ap_sys_siglist[SIGSTOP] = "Stopped (signal)";
#endif
#ifdef SIGTSTP
    ap_sys_siglist[SIGTSTP] = "Stopped";
#endif
#ifdef SIGCONT
    ap_sys_siglist[SIGCONT] = "Continued";
#endif
#ifdef SIGTTIN
    ap_sys_siglist[SIGTTIN] = "Stopped (tty input)";
#endif
#ifdef SIGTTOU
    ap_sys_siglist[SIGTTOU] = "Stopped (tty output)";
#endif
#ifdef SIGVTALRM
    ap_sys_siglist[SIGVTALRM] = "virtual timer expired";
#endif
#ifdef SIGPROF
    ap_sys_siglist[SIGPROF] = "profiling timer expired";
#endif
#ifdef SIGXCPU
    ap_sys_siglist[SIGXCPU] = "exceeded cpu limit";
#endif
#ifdef SIGXFSZ
    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)
            ap_sys_siglist[sig] = "";
}
#endif /* platform has sys_siglist[] */


/* handle all varieties of core dumping signals */
static void sig_coredump(int sig)
@@ -1271,7 +1140,6 @@ static void spmt_os2_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t

static void spmt_os2_hooks(apr_pool_t *p)
{
    INIT_SIGLIST();
    /* TODO: set one_process properly */ one_process = 0;

    ap_hook_pre_config(spmt_os2_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
Loading