You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by gs...@apache.org on 2001/02/11 01:39:55 UTC

cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

gstein      01/02/10 16:39:55

  Modified:    .        configure.in
               threadproc/os2 signals.c
               threadproc/unix signals.c
               misc/unix start.c
               include  apr.h.in apr_want.h
  Added:       include  apr_signal.h
  Log:
  *) add apr_signal_get_description() to that platforms (which have signals)
     can portably get descriptions for them.
  *) move signal stuff from apr.h to (new) apr_signal.h
  *) os2/signals.c was collapsed into unix/signals.c
  *) APR initialization will init the signal names (if needed)
  
  Revision  Changes    Path
  1.224     +3 -3      apr/configure.in
  
  Index: configure.in
  ===================================================================
  RCS file: /home/cvs/apr/configure.in,v
  retrieving revision 1.223
  retrieving revision 1.224
  diff -u -u -r1.223 -r1.224
  --- configure.in	2001/02/10 18:09:27	1.223
  +++ configure.in	2001/02/11 00:39:54	1.224
  @@ -231,13 +231,15 @@
   dnl #----------------------------- Checks for Any required Functions
   dnl Checks for library functions. (N.B. poll is further down)
   AC_CHECK_FUNCS(strcasecmp stricmp setsid nl_langinfo)
  -AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ]) 
   AC_CHECK_FUNCS(setrlimit, [ have_setrlimit="1" ], [ have_setrlimit="0" ]) 
   AC_CHECK_FUNCS(getrlimit, [ have_getrlimit="1" ], [ have_getrlimit="0" ]) 
   AC_CHECK_FUNCS(writev)
   sendfile="0"
   AC_CHECK_FUNCS(sendfile send_file, [ sendfile="1" ])
   
  +AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ]) 
  +AC_DECL_SYS_SIGLIST
  +
   AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ])
   AC_CHECK_FUNCS(getpass)
   APR_CHECK_INET_ADDR
  @@ -255,7 +257,6 @@
   fi
   AC_CHECK_FUNCS(hstrerror)
   AC_CHECK_FUNCS(memmove, [ have_memmove="1" ], [have_memmove="0" ])
  -AC_CHECK_FUNCS(bzero, [ have_bzero="1" ], [ have_bzero="0"] )
   
   AC_SUBST(fork)
   AC_SUBST(have_inet_addr)
  @@ -266,7 +267,6 @@
   AC_SUBST(iconv)
   AC_SUBST(mmap)
   AC_SUBST(have_memmove)
  -AC_SUBST(have_bzero)
   
   dnl #----------------------------- Checks for Any required Headers
   AC_HEADER_STDC
  
  
  
  1.13      +1 -98     apr/threadproc/os2/signals.c
  
  Index: signals.c
  ===================================================================
  RCS file: /home/cvs/apr/threadproc/os2/signals.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -u -r1.12 -r1.13
  --- signals.c	2001/02/08 07:45:15	1.12
  +++ signals.c	2001/02/11 00:39:54	1.13
  @@ -1,98 +1 @@
  -/* ====================================================================
  - * The Apache Software License, Version 1.1
  - *
  - * Copyright (c) 2000 The Apache Software Foundation.  All rights
  - * reserved.
  - *
  - * Redistribution and use in source and binary forms, with or without
  - * modification, are permitted provided that the following conditions
  - * are met:
  - *
  - * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer.
  - *
  - * 2. Redistributions in binary form must reproduce the above copyright
  - *    notice, this list of conditions and the following disclaimer in
  - *    the documentation and/or other materials provided with the
  - *    distribution.
  - *
  - * 3. The end-user documentation included with the redistribution,
  - *    if any, must include the following acknowledgment:
  - *       "This product includes software developed by the
  - *        Apache Software Foundation (http://www.apache.org/)."
  - *    Alternately, this acknowledgment may appear in the software itself,
  - *    if and wherever such third-party acknowledgments normally appear.
  - *
  - * 4. The names "Apache" and "Apache Software Foundation" must
  - *    not be used to endorse or promote products derived from this
  - *    software without prior written permission. For written
  - *    permission, please contact apache@apache.org.
  - *
  - * 5. Products derived from this software may not be called "Apache",
  - *    nor may "Apache" appear in their name, without prior written
  - *    permission of the Apache Software Foundation.
  - *
  - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  - * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  - * SUCH DAMAGE.
  - * ====================================================================
  - *
  - * This software consists of voluntary contributions made by many
  - * individuals on behalf of the Apache Software Foundation.  For more
  - * information on the Apache Software Foundation, please see
  - * <http://www.apache.org/>.
  - */
  -
  -#define INCL_DOSEXCEPTIONS
  -#include "threadproc.h"
  -#include "fileio.h"
  -#include "apr_thread_proc.h"
  -#include "apr_file_io.h"
  -#include "apr_general.h"
  -#include <signal.h>
  -#include <string.h>
  -#include <sys/wait.h>
  -
  -apr_status_t apr_proc_kill(apr_proc_t *proc, int signal)
  -{
  -/* SIGTERM's don't work too well in OS/2 (only affects other EMX programs).
  -   CGIs may not be, esp. REXX scripts, so use a native call instead */
  -   
  -    apr_status_t rc;
  -    
  -    if ( signal == SIGTERM ) {
  -        rc = APR_OS2_STATUS(DosSendSignalException(proc->pid, XCPT_SIGNAL_BREAK));
  -    } else {
  -        rc = kill(proc->pid, signal) < 0 ? errno : APR_SUCCESS;
  -    }
  -    
  -    return rc;
  -}
  -
  -
  -
  -/*
  - * Replace standard signal() with the more reliable sigaction equivalent
  - * from W. Richard Stevens' "Advanced Programming in the UNIX Environment"
  - * (the version that does not automatically restart system calls).
  - */
  -Sigfunc *apr_signal(int signo, Sigfunc * func)
  -{
  -    struct sigaction act, oact;
  -
  -    act.sa_handler = func;
  -    sigemptyset(&act.sa_mask);
  -    act.sa_flags = 0;
  -    if (sigaction(signo, &act, &oact) < 0)
  -        return SIG_ERR;
  -    return oact.sa_handler;
  -}
  +#include "../unix/signals.c"
  
  
  
  1.16      +183 -9    apr/threadproc/unix/signals.c
  
  Index: signals.c
  ===================================================================
  RCS file: /home/cvs/apr/threadproc/unix/signals.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -u -r1.15 -r1.16
  --- signals.c	2001/02/08 07:45:17	1.15
  +++ signals.c	2001/02/11 00:39:54	1.16
  @@ -52,40 +52,214 @@
    * <http://www.apache.org/>.
    */
   
  +#define INCL_DOSEXCEPTIONS      /* for OS2 */
   #include "threadproc.h"
   #include "apr_private.h"
  -#include "apr_lib.h"
  -#if APR_HAVE_SIGNAL_H
  -#include <signal.h>
  -#endif
  +#include "apr_pools.h"
  +#include "apr_signal.h"
  +
  +#define APR_WANT_SIGNAL
  +#include "apr_want.h"
  +
  +#include <assert.h>
   
  -apr_status_t apr_proc_kill(apr_proc_t *proc, int sig)
  +
  +apr_status_t apr_proc_kill(apr_proc_t *proc, int signum)
   {
  -    if (kill(proc->pid, sig) == -1) {
  +#ifdef OS2
  +    /* SIGTERM's don't work too well in OS/2 (only affects other EMX
  +     * programs). CGIs may not be, esp. REXX scripts, so use a native
  +     * call instead
  +     */
  +    if (signum == SIGTERM) {
  +        return APR_OS2_STATUS(DosSendSignalException(proc->pid,
  +                                                     XCPT_SIGNAL_BREAK));
  +    }
  +#endif /* OS2 */
  +
  +    if (kill(proc->pid, signum) == -1) {
           return errno;
       }
  +
       return APR_SUCCESS;
   }
  +
  +
  +#ifdef HAVE_SIGACTION
   
  -#if !defined(NO_USE_SIGACTION) && defined(HAVE_SIGACTION)
   /*
    * Replace standard signal() with the more reliable sigaction equivalent
    * from W. Richard Stevens' "Advanced Programming in the UNIX Environment"
    * (the version that does not automatically restart system calls).
    */
  -Sigfunc *apr_signal(int signo, Sigfunc * func)
  +apr_sigfunc_t *apr_signal(int signo, apr_sigfunc_t * func)
   {
       struct sigaction act, oact;
   
       act.sa_handler = func;
       sigemptyset(&act.sa_mask);
       act.sa_flags = 0;
  -#ifdef  SA_INTERRUPT            /* SunOS */
  +#ifdef SA_INTERRUPT             /* SunOS */
       act.sa_flags |= SA_INTERRUPT;
   #endif
       if (sigaction(signo, &act, &oact) < 0)
           return SIG_ERR;
       return oact.sa_handler;
   }
  +
  +#endif /* HAVE_SIGACTION */
  +
  +
  +#ifdef SYS_SIGLIST_DECLARED
  +
  +void apr_signal_init(apr_pool_t *pglobal)
  +{
  +}
  +const char *apr_signal_get_description(int signum)
  +{
  +    return sys_siglist[signum];
  +}
  +
  +#else /* !SYS_SIGLIST_DECLARED */
  +
  +/* we need to roll our own signal description stuff */
  +
  +#if defined(NSIG)
  +#define APR_NUMSIG NSIG
  +#elif defined(_NSIG)
  +#define APR_NUMSIG _NSIG
  +#elif defined(__NSIG)
  +#define APR_NUMSIG __NSIG
  +#else
  +#define APR_NUMSIG 33   /* breaks on OS/390 with < 33; 32 is o.k. for most */
  +#endif
  +
  +static const char *signal_description[APR_NUMSIG];
  +
  +#define store_desc(index, string) \
  +	(assert(index < APR_NUMSIG), \
  +         signal_description[index] = string)
  +
  +void apr_signal_init(apr_pool_t *pglobal)
  +{
  +    int sig;
  +
  +    store_desc(0, "Signal 0");
  +
  +#ifdef SIGHUP
  +    store_desc(SIGHUP, "Hangup");
  +#endif
  +#ifdef SIGINT
  +    store_desc(SIGINT, "Interrupt");
  +#endif
  +#ifdef SIGQUIT
  +    store_desc(SIGQUIT, "Quit");
  +#endif
  +#ifdef SIGILL
  +    store_desc(SIGILL, "Illegal instruction");
  +#endif
  +#ifdef SIGTRAP
  +    store_desc(SIGTRAP, "Trace/BPT trap");
  +#endif
  +#ifdef SIGIOT
  +    store_desc(SIGIOT, "IOT instruction");
  +#endif
  +#ifdef SIGABRT
  +    store_desc(SIGABRT, "Abort");
   #endif
  +#ifdef SIGEMT
  +    store_desc(SIGEMT, "Emulator trap");
  +#endif
  +#ifdef SIGFPE
  +    store_desc(SIGFPE, "Arithmetic exception");
  +#endif
  +#ifdef SIGKILL
  +    store_desc(SIGKILL, "Killed");
  +#endif
  +#ifdef SIGBUS
  +    store_desc(SIGBUS, "Bus error");
  +#endif
  +#ifdef SIGSEGV
  +    store_desc(SIGSEGV, "Segmentation fault");
  +#endif
  +#ifdef SIGSYS
  +    store_desc(SIGSYS, "Bad system call");
  +#endif
  +#ifdef SIGPIPE
  +    store_desc(SIGPIPE, "Broken pipe");
  +#endif
  +#ifdef SIGALRM
  +    store_desc(SIGALRM, "Alarm clock");
  +#endif
  +#ifdef SIGTERM
  +    store_desc(SIGTERM, "Terminated");
  +#endif
  +#ifdef SIGUSR1
  +    store_desc(SIGUSR1, "User defined signal 1");
  +#endif
  +#ifdef SIGUSR2
  +    store_desc(SIGUSR2, "User defined signal 2");
  +#endif
  +#ifdef SIGCLD
  +    store_desc(SIGCLD, "Child status change");
  +#endif
  +#ifdef SIGCHLD
  +    store_desc(SIGCHLD, "Child status change");
  +#endif
  +#ifdef SIGPWR
  +    store_desc(SIGPWR, "Power-fail restart");
  +#endif
  +#ifdef SIGWINCH
  +    store_desc(SIGWINCH, "Window changed");
  +#endif
  +#ifdef SIGURG
  +    store_desc(SIGURG, "urgent socket condition");
  +#endif
  +#ifdef SIGPOLL
  +    store_desc(SIGPOLL, "Pollable event occurred");
  +#endif
  +#ifdef SIGIO
  +    store_desc(SIGIO, "socket I/O possible");
  +#endif
  +#ifdef SIGSTOP
  +    store_desc(SIGSTOP, "Stopped (signal)");
  +#endif
  +#ifdef SIGTSTP
  +    store_desc(SIGTSTP, "Stopped");
  +#endif
  +#ifdef SIGCONT
  +    store_desc(SIGCONT, "Continued");
  +#endif
  +#ifdef SIGTTIN
  +    store_desc(SIGTTIN, "Stopped (tty input)");
  +#endif
  +#ifdef SIGTTOU
  +    store_desc(SIGTTOU, "Stopped (tty output)");
  +#endif
  +#ifdef SIGVTALRM
  +    store_desc(SIGVTALRM, "virtual timer expired");
  +#endif
  +#ifdef SIGPROF
  +    store_desc(SIGPROF, "profiling timer expired");
  +#endif
  +#ifdef SIGXCPU
  +    store_desc(SIGXCPU, "exceeded cpu limit");
  +#endif
  +#ifdef SIGXFSZ
  +    store_desc(SIGXFSZ, "exceeded file size limit");
  +#endif
  +
  +    for (sig = 0; sig < APR_NUMSIG; ++sig)
  +        if (signal_description[sig] == NULL)
  +            signal_description[sig] = apr_psprintf(pglobal, "signal #%d", sig);
  +}
  +
  +const char *apr_signal_get_description(int signum)
  +{
  +    return
  +        signum < APR_NUMSIG
  +        ? signal_description[signum]
  +        : "unknown signal (number)";
  +}
   
  +#endif /* SYS_SIGLIST_DECLARED */
  
  
  
  1.48      +8 -2      apr/misc/unix/start.c
  
  Index: start.c
  ===================================================================
  RCS file: /home/cvs/apr/misc/unix/start.c,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -u -r1.47 -r1.48
  --- start.c	2001/02/08 07:44:53	1.47
  +++ start.c	2001/02/11 00:39:54	1.48
  @@ -55,6 +55,7 @@
   #include "apr.h"
   #include "apr_general.h"
   #include "apr_pools.h"
  +#include "apr_signal.h"
   
   #include "misc.h"       /* for WSAHighByte / WSALowByte */
   #include "locks.h"      /* for apr_unix_setup_lock() */
  @@ -94,8 +95,13 @@
           return APR_EEXIST;
       }
   #endif
  -    status = apr_pool_alloc_init(global_apr_pool);
  -    return status;
  +
  +    if ((status = apr_pool_alloc_init(global_apr_pool)) != APR_SUCCESS)
  +        return status;
  +
  +    apr_signal_init(global_apr_pool);
  +
  +    return APR_SUCCESS;
   }
   
   APR_DECLARE(void) apr_terminate(void)
  
  
  
  1.65      +12 -26    apr/include/apr.h.in
  
  Index: apr.h.in
  ===================================================================
  RCS file: /home/cvs/apr/include/apr.h.in,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -u -r1.64 -r1.65
  --- apr.h.in	2001/01/28 15:30:25	1.64
  +++ apr.h.in	2001/02/11 00:39:55	1.65
  @@ -70,23 +70,23 @@
   #define APR_FILE_BASED_SHM      @file_based@
   #define APR_MEM_BASED_SHM       @mem_based@
   
  +#define APR_HAVE_CORKABLE_TCP   @have_corkable_tcp@ 
  +#define APR_HAVE_GETRLIMIT      @have_getrlimit@
   #define APR_HAVE_IN_ADDR        @have_in_addr@
   #define APR_HAVE_INET_ADDR      @have_inet_addr@
   #define APR_HAVE_INET_NETWORK   @have_inet_network@
  -#define APR_HAVE_UNION_SEMUN    @have_union_semun@
  -#define APR_HAVE_STRUCT_RLIMIT  @struct_rlimit@
  +#define APR_HAVE_IPV6           @have_ipv6@
  +#define APR_HAVE_MEMMOVE        @have_memmove@
   #define APR_HAVE_SETRLIMIT      @have_setrlimit@
  -#define APR_HAVE_GETRLIMIT      @have_getrlimit@
  -#define APR_HAVE_STRICMP        @have_stricmp@
  -#define APR_HAVE_STRNICMP       @have_strnicmp@
  +#define APR_HAVE_SIGACTION      @have_sigaction@
   #define APR_HAVE_STRCASECMP     @have_strcasecmp@
  -#define APR_HAVE_STRNCASECMP    @have_strncasecmp@
   #define APR_HAVE_STRDUP         @have_strdup@
  +#define APR_HAVE_STRICMP        @have_stricmp@
  +#define APR_HAVE_STRNCASECMP    @have_strncasecmp@
  +#define APR_HAVE_STRNICMP       @have_strnicmp@
   #define APR_HAVE_STRSTR         @have_strstr@
  -#define APR_HAVE_MEMMOVE        @have_memmove@
  -#define APR_HAVE_BZERO          @have_bzero@
  -#define APR_HAVE_IPV6           @have_ipv6@
  -#define APR_HAVE_CORKABLE_TCP   @have_corkable_tcp@ 
  +#define APR_HAVE_STRUCT_RLIMIT  @struct_rlimit@
  +#define APR_HAVE_UNION_SEMUN    @have_union_semun@
   
   #if APR_HAVE_SYS_TYPES_H
   #include <sys/types.h>
  @@ -177,6 +177,7 @@
    * @deffunc APR_DECLARE(rettype) apr_func(args);
    */
   #define APR_DECLARE(type)            type
  +
   /**
    * The public APR functions using variable arguments are declared with 
    * AP_DECLARE(), as they must use the C language calling convention.
  @@ -184,6 +185,7 @@
    * @deffunc APR_DECLARE_NONSTD(rettype) apr_func(args, ...);
    */
   #define APR_DECLARE_NONSTD(type)     type
  +
   /**
    * The public APR variables are declared with AP_MODULE_DECLARE_DATA.
    * This assures the appropriate indirection is invoked at compile time.
  @@ -212,22 +214,6 @@
   
   /* Local machine definition for console and log output. */
   #define APR_EOL_STR              "@eolstr@"
  -
  -/* Define apr_signal and related necessary definitions.
  - */
  -/* We are checking for HAVE_SIGACTION, but autoconf is filling this in 
  - * for us automatically.
  - */
  -#if @have_sigaction@ && !defined(NO_USE_SIGACTION)
  -typedef void Sigfunc(int);
  -Sigfunc *apr_signal(int signo, Sigfunc * func);
  -
  -#if defined(SIG_ING) && !defined(SIG_ERR)
  -#define SIG_ERR ((Sigfunc *)-1)
  -#endif
  -#else
  -#define apr_signal(a,b) signal(a,b)
  -#endif
   
   #if APR_HAVE_SYS_WAIT_H
   
  
  
  
  1.4       +13 -0     apr/include/apr_want.h
  
  Index: apr_want.h
  ===================================================================
  RCS file: /home/cvs/apr/include/apr_want.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -u -r1.3 -r1.4
  --- apr_want.h	2001/02/05 05:22:30	1.3
  +++ apr_want.h	2001/02/11 00:39:55	1.4
  @@ -61,6 +61,7 @@
    *   APR_WANT_MEMFUNC:  memcmp, memcpy, etc
    *   APR_WANT_STDIO:    <stdio.h> and related bits
    *   APR_WANT_IOVEC:    struct iovec
  + *   APR_WANT_SIGNAL:   signal numbers, functions, and types
    *
    * Typical usage:
    *
  @@ -119,6 +120,18 @@
   #endif
   
   #undef APR_WANT_IOVEC
  +#endif
  +
  +/* --------------------------------------------------------------------- */
  +
  +#ifdef APR_WANT_SIGNAL
  +
  +#if APR_HAVE_SIGNAL_H
  +#include <signal.h>
  +#endif
  +/* ### some platforms may put this into unistd.h ?? */
  +
  +#undef APR_WANT_SIGNAL
   #endif
   
   /* --------------------------------------------------------------------- */
  
  
  
  1.5       +37 -6     apr/include/apr_signal.h
  
  
  
  

Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by Greg Stein <gs...@lyra.org>.
On Sat, Feb 10, 2001 at 07:00:19PM -0600, William A. Rowe, Jr. wrote:
> > gstein      01/02/10 16:39:55
> > 
> >   Modified:    .        configure.in
> >                threadproc/os2 signals.c
> >                threadproc/unix signals.c
> >                misc/unix start.c
> >                include  apr.h.in apr_want.h
> >   Added:       include  apr_signal.h
> >   Log:
> >   *) add apr_signal_get_description() to that platforms (which have signals)
> >      can portably get descriptions for them.
> >   *) move signal stuff from apr.h to (new) apr_signal.h
> >   *) os2/signals.c was collapsed into unix/signals.c
> >   *) APR initialization will init the signal names (if needed)
> 
> This patch breaks win32:
> 
> ./include\apr_signal.h(85) : warning C4005: 'apr_signal' : macro redefinition
> start.obj : error LNK2001: unresolved external symbol _apr_signal_init

I'm on it. Thx.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
> gstein      01/02/10 16:39:55
> 
>   Modified:    .        configure.in
>                threadproc/os2 signals.c
>                threadproc/unix signals.c
>                misc/unix start.c
>                include  apr.h.in apr_want.h
>   Added:       include  apr_signal.h
>   Log:
>   *) add apr_signal_get_description() to that platforms (which have signals)
>      can portably get descriptions for them.
>   *) move signal stuff from apr.h to (new) apr_signal.h
>   *) os2/signals.c was collapsed into unix/signals.c
>   *) APR initialization will init the signal names (if needed)

This patch breaks win32:

./include\apr_signal.h(85) : warning C4005: 'apr_signal' : macro redefinition
start.obj : error LNK2001: unresolved external symbol _apr_signal_init

I'm still not quite 'back here' from my cold to digest what this patch tries to do
and how it should be implemented on win32.  Looking at signals.c just exasperated me
that we are f*cking around with process handles for 'pid's.  So the whole bloomin 
thing deserves a rewrite that I'm not about to attack this weekend.



Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by rb...@covalent.net.
On Sat, 10 Feb 2001, Greg Stein wrote:

> On Sat, Feb 10, 2001 at 07:02:25PM -0600, William A. Rowe, Jr. wrote:
> > From: <rb...@covalent.net>
> > Sent: Saturday, February 10, 2001 6:52 PM
> > 
> > 
> > > >   *) add apr_signal_get_description() to that platforms (which have signals)
> > > >      can portably get descriptions for them.
> > > >   *) move signal stuff from apr.h to (new) apr_signal.h
> > > >   *) os2/signals.c was collapsed into unix/signals.c
> > > >   *) APR initialization will init the signal names (if needed)
> > > 
> > > If we are going to continue to support signals in APR, I would like to
> > > ressurect the fake signals that I implemented on Windows a long time ago.
> > 
> > +1, and I'll look at what more we need to do next week.
> 
> I don't think we want generic signals. What for?
> 
> All that I did was to add a way to portably fetch signal descriptions *IF*
> the platform has them.
> 
> There isn't anything about functionality, and I don't know that we need or
> want them in a portable fashion.

I dislike putting stuff that isn't at all portable into APR.  When removed
a lot of this stuff from APR a while ago because it was so unportable.  If
you look at NSPR, they didn't implement signals, and I believe we should
follow that model.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by Greg Stein <gs...@lyra.org>.
On Sat, Feb 10, 2001 at 07:02:25PM -0600, William A. Rowe, Jr. wrote:
> From: <rb...@covalent.net>
> Sent: Saturday, February 10, 2001 6:52 PM
> 
> 
> > >   *) add apr_signal_get_description() to that platforms (which have signals)
> > >      can portably get descriptions for them.
> > >   *) move signal stuff from apr.h to (new) apr_signal.h
> > >   *) os2/signals.c was collapsed into unix/signals.c
> > >   *) APR initialization will init the signal names (if needed)
> > 
> > If we are going to continue to support signals in APR, I would like to
> > ressurect the fake signals that I implemented on Windows a long time ago.
> 
> +1, and I'll look at what more we need to do next week.

I don't think we want generic signals. What for?

All that I did was to add a way to portably fetch signal descriptions *IF*
the platform has them.

There isn't anything about functionality, and I don't know that we need or
want them in a portable fashion.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
From: <rb...@covalent.net>
Sent: Saturday, February 10, 2001 6:52 PM


> >   *) add apr_signal_get_description() to that platforms (which have signals)
> >      can portably get descriptions for them.
> >   *) move signal stuff from apr.h to (new) apr_signal.h
> >   *) os2/signals.c was collapsed into unix/signals.c
> >   *) APR initialization will init the signal names (if needed)
> 
> If we are going to continue to support signals in APR, I would like to
> ressurect the fake signals that I implemented on Windows a long time ago.

+1, and I'll look at what more we need to do next week.


Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by rb...@covalent.net.
>   *) add apr_signal_get_description() to that platforms (which have signals)
>      can portably get descriptions for them.
>   *) move signal stuff from apr.h to (new) apr_signal.h
>   *) os2/signals.c was collapsed into unix/signals.c
>   *) APR initialization will init the signal names (if needed)

If we are going to continue to support signals in APR, I would like to
ressurect the fake signals that I implemented on Windows a long time ago.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Re: cvs commit: apr/include apr_signal.h apr.h.in apr_want.h

Posted by rb...@covalent.net.
>   *) add apr_signal_get_description() to that platforms (which have signals)
>      can portably get descriptions for them.
>   *) move signal stuff from apr.h to (new) apr_signal.h
>   *) os2/signals.c was collapsed into unix/signals.c
>   *) APR initialization will init the signal names (if needed)

If we are going to continue to support signals in APR, I would like to
ressurect the fake signals that I implemented on Windows a long time ago.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------