httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: [PATCH] start on libap (fixes PR#905 et alia)
Date Thu, 13 Nov 1997 21:40:08 GMT
Looks fine to me ... +1 untested.

Dean

On Thu, 13 Nov 1997, Rodent of Unusual Size wrote:

>     Okey, here's a start on the libap stuff.  For the moment it just
>     moves ap_signal() out of http_main.c into src/ap/ap_signal.c and
>     builds a library in that directory for others to use.  It also
>     updates the support directory so this stuff will build.  One new
>     directory, three new files.
> 
>     Look for "%<--" below to find the new-file boundaries.
> 
>     Works for me.. any thoughts on this for 1.3b3?
> 
>     #ken    P-)}
> 
> Index: Configure
> ===================================================================
> RCS file: /export/home/cvs/apachen/src/Configure,v
> retrieving revision 1.170
> diff -u -r1.170 Configure
> --- Configure	1997/11/08 21:47:33	1.170
> +++ Configure	1997/11/13 18:55:45
> @@ -26,7 +26,7 @@
>  tmpfile2=$tmpfile.2
>  tmpfile3=$tmpfile.3
>  awkfile=$tmpfile.4
> -SUBDIRS='$(OSDIR) main modules'
> +SUBDIRS='$(OSDIR) main ap modules'
>  
>  ####################################################################
>  ## Now handle any arguments, which, for now, is -file
> @@ -1031,7 +1031,7 @@
>  #
>  # directories to create makefiles in
>  #
> -MAKEDIRS="support main regex $OSDIR"
> +MAKEDIRS="support main ap regex $OSDIR"
>  for dir in $MAKEDIRS ; do
>  	echo Creating Makefile in $dir
>  	cat Makefile.config $dir/Makefile.tmpl > $dir/Makefile
> Index: Makefile.tmpl
> ===================================================================
> RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v
> retrieving revision 1.70
> diff -u -r1.70 Makefile.tmpl
> --- Makefile.tmpl	1997/11/05 12:48:13	1.70
> +++ Makefile.tmpl	1997/11/13 18:56:37
> @@ -12,7 +12,8 @@
>    modules.o \
>    $(MODULES) \
>    main/libmain.a \
> -  $(OSDIR)/libos.a
> +  $(OSDIR)/libos.a \
> +  ap/libap.a
>  
>  .c.o:
>  	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
> Index: main/http_main.c
> ===================================================================
> RCS file: /export/home/cvs/apachen/src/main/http_main.c,v
> retrieving revision 1.249
> diff -u -r1.249 http_main.c
> --- http_main.c	1997/11/12 23:22:07	1.249
> +++ http_main.c	1997/11/13 18:57:00
> @@ -714,28 +714,6 @@
>  static APACHE_TLS int volatile alarm_pending = 0;
>  static APACHE_TLS int volatile exit_after_unblock = 0;
>  
> -#ifndef NO_USE_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 *signal(int signo, Sigfunc * func)
> -{
> -    struct sigaction act, oact;
> -
> -    act.sa_handler = func;
> -    sigemptyset(&act.sa_mask);
> -    act.sa_flags = 0;
> -#ifdef  SA_INTERRUPT		/* SunOS */
> -    act.sa_flags |= SA_INTERRUPT;
> -#endif
> -    if (sigaction(signo, &act, &oact) < 0)
> -	return SIG_ERR;
> -    return oact.sa_handler;
> -}
> -#endif
> -
>  /* a clean exit from a child with proper cleanup */
>  static void __attribute__((noreturn)) clean_child_exit(int code)
>  {
> Index: support/Makefile.tmpl
> ===================================================================
> RCS file: /export/home/cvs/apachen/src/support/Makefile.tmpl,v
> retrieving revision 1.7
> diff -u -r1.7 Makefile.tmpl
> --- Makefile.tmpl	1997/10/22 23:31:25	1.7
> +++ Makefile.tmpl	1997/11/13 18:57:17
> @@ -4,9 +4,9 @@
>  # by the configure script to make the actual Makefile.
>  
>  CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
> -LIBS=$(EXTRA_LIBS) $(LIBS1)
> +LIBS=$(EXTRA_LIBS) $(LIBS1) -lap
>  INCLUDES=$(INCLUDES1) $(INCLUDES_DEPTH1) $(EXTRA_INCLUDES)
> -LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
> +LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) -L../ap
>  
>  .c.o: 
>  	$(CC) -c $(CFLAGS) $(INCLUDES) $<
> @@ -16,16 +16,16 @@
>  all: $(TARGETS)
>  
>  htpasswd: htpasswd.o
> -	$(CC) $(CFLAGS) htpasswd.o -o htpasswd $(LIBS)
> +	$(CC) $(CFLAGS) htpasswd.o -o htpasswd $(LDFLAGS) $(LIBS)
>  
>  htdigest: htdigest.o
> -	$(CC) $(CFLAGS) htdigest.o -o htdigest $(LIBS)
> +	$(CC) $(CFLAGS) htdigest.o -o htdigest $(LDFLAGS) $(LIBS)
>  
>  rotatelogs: rotatelogs.o
>  	$(CC) $(INCLUDES) $(CFLAGS) rotatelogs.o -o rotatelogs
>  
>  logresolve: logresolve.o
> -	$(CC) $(INCLUDES) $(CFLAGS) logresolve.o -o logresolve $(LIBS)
> +	$(CC) $(INCLUDES) $(CFLAGS) logresolve.o -o logresolve $(LDFLAGS) $(LIBS)
>  
>  clean:
>  	rm -f $(TARGETS) *.o
> %<------ ap/Makefile.tmpl
> CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
> LIBS=$(EXTRA_LIBS) $(LIBS1)
> INCLUDES=$(INCLUDES1) $(INCLUDES_DEPTH1) $(EXTRA_INCLUDES)
> LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
> INCDIR=../main
> 
> LIB=libap.a
> 
> OBJS=ap_signal.o
> 
> .c.o:
> 	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
> 
> all: $(LIB)
> 
> clean:
> 	rm -f *.o *.a
> 
> $(OBJS): Makefile
> 
> $(LIB): $(OBJS)
> 	ar cr $(LIB) $(OBJS)
> 
> # dependencies
> ap_signal.o: $(INCDIR)/httpd.h
> %<------ ap/ap_signal.c
> /* ====================================================================
>  * Copyright (c) 1995-1997 The Apache Group.  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. All advertising materials mentioning features or use of this
>  *    software must display the following acknowledgment:
>  *    "This product includes software developed by the Apache Group
>  *    for use in the Apache HTTP server project (http://www.apache.org/)."
>  *
>  * 4. The names "Apache Server" and "Apache Group" 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. Redistributions of any form whatsoever must retain the following
>  *    acknowledgment:
>  *    "This product includes software developed by the Apache Group
>  *    for use in the Apache HTTP server project (http://www.apache.org/)."
>  *
>  * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``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 GROUP 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 Group and was originally based
>  * on public domain software written at the National Center for
>  * Supercomputing Applications, University of Illinois, Urbana-Champaign.
>  * For more information on the Apache Group and the Apache HTTP server
>  * project, please see <http://www.apache.org/>.
>  *
>  */
> 
> #include "httpd.h"
> 
> #ifndef NO_USE_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 *signal(int signo, Sigfunc * func)
> {
>     struct sigaction act, oact;
> 
>     act.sa_handler = func;
>     sigemptyset(&act.sa_mask);
>     act.sa_flags = 0;
> #ifdef  SA_INTERRUPT		/* SunOS */
>     act.sa_flags |= SA_INTERRUPT;
> #endif
>     if (sigaction(signo, &act, &oact) < 0)
> 	return SIG_ERR;
>     return oact.sa_handler;
> }
> #endif
> %<------ ap/.cvsignore
> Makefile
> 


Mime
View raw message