You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by st...@locus.apache.org on 2000/12/06 05:42:36 UTC

cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c

stoddard    00/12/05 20:42:36

  Modified:    .        ApacheCore.dsp Makefile.win
               include  ap_buckets.h
               src/buckets ap_buckets_eos.c ap_buckets_file.c
                        ap_buckets_flush.c ap_buckets_heap.c
                        ap_buckets_mmap.c ap_buckets_pipe.c
                        ap_buckets_pool.c ap_buckets_simple.c
                        ap_buckets_socket.c
  Log:
  And this gets Apache for Windows compiling from the command line and
  serving files again. The APR_DECLARE_DATA declaration allows the
  ap_*_type structures to be exported which is reqired for the correct
  operation of the AP_BUCKET_IS_* macros.
  
  An alternate way to fix this problem is to explicitly break the bucket
  type out of the "type" structure in ap_bucketi and represent each bucket
  type with an enum.
  
  Revision  Changes    Path
  1.50      +21 -22    httpd-2.0/ApacheCore.dsp
  
  Index: ApacheCore.dsp
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/ApacheCore.dsp,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- ApacheCore.dsp	2000/12/05 20:08:26	1.49
  +++ ApacheCore.dsp	2000/12/06 04:42:33	1.50
  @@ -26,6 +26,7 @@
   # PROP Scc_ProjName ""
   # PROP Scc_LocalPath ""
   CPP=cl.exe
  +RSC=rc.exe
   
   !IF  "$(CFG)" == "ApacheCore - Win32 Release"
   
  @@ -39,11 +40,10 @@
   # PROP Output_Dir "LibR"
   # PROP Intermediate_Dir "LibR"
   # PROP Target_Dir ""
  -RSC=rc.exe
  -# ADD BASE RSC /l 0x409
  -# ADD RSC /l 0x409
   # ADD BASE CPP /nologo /MD /W3 /GX /O2 /I ".\include" /I ".\srclib\apr\include" /I ".\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
   # ADD CPP /nologo /MD /W3 /GX /O2 /I ".\include" /I ".\srclib\apr\include" /I ".\srclib\apr-util\include" /I ".\srclib\sdbm" /I ".\os\win32" /I ".\server\mpm\winnt" /I ".\srclib\expat-lite" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
  +# ADD BASE RSC /l 0x409
  +# ADD RSC /l 0x409
   BSC32=bscmake.exe
   # ADD BASE BSC32 /nologo
   # ADD BSC32 /nologo
  @@ -64,11 +64,10 @@
   # PROP Intermediate_Dir "LibD"
   # PROP Ignore_Export_Lib 0
   # PROP Target_Dir ""
  -RSC=rc.exe
  -# ADD BASE RSC /l 0x409
  -# ADD RSC /l 0x409
   # ADD BASE CPP /nologo /MDd /W3 /GX /ZI /Od /I ".\include" /I ".\srclib\apr\include" /I ".\os\win32" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
   # ADD CPP /nologo /MDd /W3 /GX /ZI /Od /I ".\include" /I ".\srclib\apr\include" /I ".\srclib\apr-util\include" /I ".\srclib\sdbm" /I ".\os\win32" /I ".\server\mpm\winnt" /I ".\srclib\expat-lite" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "AP_DECLARE_EXPORT" /FD /c
  +# ADD BASE RSC /l 0x409
  +# ADD RSC /l 0x409
   BSC32=bscmake.exe
   # ADD BASE BSC32 /nologo
   # ADD BSC32 /nologo
  @@ -206,56 +205,56 @@
   # End Source File
   # Begin Source File
   
  -SOURCE=.\server\http_core.c
  +SOURCE=.\include\http_log.h
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\http_core.h
  +SOURCE=.\include\http_main.h
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\http_log.h
  +SOURCE=.\include\http_vhost.h
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\http_main.h
  +SOURCE=.\include\httpd.h
   # End Source File
   # Begin Source File
   
  -SOURCE=.\server\http_protocol.c
  +SOURCE=.\server\log.c
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\http_protocol.h
  +SOURCE=.\server\vhost.c
   # End Source File
  +# End Group
  +# Begin Group "modules"
  +
  +# PROP Default_Filter ""
   # Begin Source File
   
  -SOURCE=.\server\http_request.c
  +SOURCE=.\modules\http\http_core.c
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\http_request.h
  +SOURCE=.\include\http_core.h
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\http_vhost.h
  +SOURCE=.\modules\http\http_protocol.c
   # End Source File
   # Begin Source File
   
  -SOURCE=.\include\httpd.h
  +SOURCE=.\include\http_protocol.h
   # End Source File
   # Begin Source File
   
  -SOURCE=.\server\log.c
  +SOURCE=.\modules\http\http_request.c
   # End Source File
   # Begin Source File
   
  -SOURCE=.\server\vhost.c
  +SOURCE=.\include\http_request.h
   # End Source File
  -# End Group
  -# Begin Group "modules"
  -
  -# PROP Default_Filter ""
   # Begin Source File
   
   SOURCE=.\modules\aaa\mod_access.c
  
  
  
  1.31      +2 -2      httpd-2.0/Makefile.win
  
  Index: Makefile.win
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/Makefile.win,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- Makefile.win	2000/12/05 20:59:32	1.30
  +++ Makefile.win	2000/12/06 04:42:33	1.31
  @@ -70,8 +70,8 @@
   	cd ..\..
   	cd srclib\apr-util
   #	 aprlibdll creates the dynamic aprlib.dll from the static library project aprlib.dsp
  -	 $(MAKE) $(MAKEOPT) -f aprlib.mak CFG="aprlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
  -	 $(MAKE) $(MAKEOPT) -f aprlibdll.mak CFG="aprlibdll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
  +	 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
  +	 $(MAKE) $(MAKEOPT) -f aprutildll.mak CFG="aprutildll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
   	cd ..\..
   	cd srclib\expat-lite
   	 $(MAKE) $(MAKEOPT) -f expatlib.mak CFG="expatlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
  
  
  
  1.55      +10 -10    apr-util/include/ap_buckets.h
  
  Index: ap_buckets.h
  ===================================================================
  RCS file: /home/cvs/apr-util/include/ap_buckets.h,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- ap_buckets.h	2000/12/05 19:11:09	1.54
  +++ ap_buckets.h	2000/12/06 04:42:34	1.55
  @@ -712,52 +712,52 @@
    * The flush bucket type.  This signifies that all data should be flushed to
    * the next filter.  The flush bucket should be sent with the other buckets.
    */
  -extern const ap_bucket_type ap_flush_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_flush_type;
   /**
    * The EOS bucket type.  This signifies that there will be no more data, ever.
    * All filters MUST send all data to the next filter when they receive a
    * bucket of this type
    */
  -extern const ap_bucket_type ap_eos_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_eos_type;
   /**
    * The FILE bucket type.  This bucket represents a file on disk
    */
  -extern const ap_bucket_type ap_file_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_file_type;
   /**
    * The HEAP bucket type.  This bucket represents a data allocated out of the
    * heap.
    */
  -extern const ap_bucket_type ap_heap_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_heap_type;
   /**
    * The MMAP bucket type.  This bucket represents an MMAP'ed file
    */
  -extern const ap_bucket_type ap_mmap_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_mmap_type;
   /**
    * The POOL bucket type.  This bucket represents a data that was allocated
    * out of a pool.  IF this bucket is still available when the pool is cleared,
    * the data is copied on to the heap.
    */
  -extern const ap_bucket_type ap_pool_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_pool_type;
   /**
    * The PIPE bucket type.  This bucket represents a pipe to another program.
    */
  -extern const ap_bucket_type ap_pipe_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_pipe_type;
   /**
    * The IMMORTAL bucket type.  This bucket represents a segment of data that
    * the creator is willing to take responsability for.  The core will do
    * nothing with the data in an immortal bucket
    */
  -extern const ap_bucket_type ap_immortal_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_immortal_type;
   /**
    * The TRANSIENT bucket type.  This bucket represents a data allocated off
    * the stack.  When the setaside function is called, this data is copied on
    * to the heap
    */
  -extern const ap_bucket_type ap_transient_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_transient_type;
   /**
    * The SOCKET bucket type.  This bucket represents a socket to another machine
    */
  -extern const ap_bucket_type ap_socket_type;
  +APR_DECLARE_DATA extern const ap_bucket_type ap_socket_type;
   
   
   /*  *****  Shared reference-counted buckets  *****  */
  
  
  
  1.15      +1 -1      apr-util/src/buckets/ap_buckets_eos.c
  
  Index: ap_buckets_eos.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_eos.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ap_buckets_eos.c	2000/12/05 01:02:48	1.14
  +++ ap_buckets_eos.c	2000/12/06 04:42:34	1.15
  @@ -78,7 +78,7 @@
       ap_bucket_do_create(ap_bucket_make_eos(b));
   }
   
  -const ap_bucket_type ap_eos_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_eos_type = {
       "EOS", 4,
       ap_bucket_destroy_notimpl,
       eos_read,
  
  
  
  1.12      +1 -1      apr-util/src/buckets/ap_buckets_file.c
  
  Index: ap_buckets_file.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_file.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ap_buckets_file.c	2000/12/05 01:02:48	1.11
  +++ ap_buckets_file.c	2000/12/06 04:42:34	1.12
  @@ -185,7 +185,7 @@
       ap_bucket_do_create(ap_bucket_make_file(b, fd, offset, len));
   }
   
  -const ap_bucket_type ap_file_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_file_type = {
       "FILE", 4,
       ap_bucket_destroy_notimpl,
       file_read,
  
  
  
  1.7       +1 -1      apr-util/src/buckets/ap_buckets_flush.c
  
  Index: ap_buckets_flush.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_flush.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ap_buckets_flush.c	2000/12/05 01:02:48	1.6
  +++ ap_buckets_flush.c	2000/12/06 04:42:35	1.7
  @@ -78,7 +78,7 @@
       ap_bucket_do_create(ap_bucket_make_flush(b));
   }
   
  -const ap_bucket_type ap_flush_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_flush_type = {
       "FLUSH", 4,
       ap_bucket_destroy_notimpl,
       flush_read,
  
  
  
  1.18      +1 -1      apr-util/src/buckets/ap_buckets_heap.c
  
  Index: ap_buckets_heap.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_heap.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ap_buckets_heap.c	2000/12/05 01:02:49	1.17
  +++ ap_buckets_heap.c	2000/12/06 04:42:35	1.18
  @@ -140,7 +140,7 @@
       ap_bucket_do_create(ap_bucket_make_heap(b, buf, length, copy, w));
   }
   
  -const ap_bucket_type ap_heap_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_heap_type = {
       "HEAP", 4,
       heap_destroy,
       heap_read,
  
  
  
  1.22      +1 -1      apr-util/src/buckets/ap_buckets_mmap.c
  
  Index: ap_buckets_mmap.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_mmap.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- ap_buckets_mmap.c	2000/12/05 01:02:49	1.21
  +++ ap_buckets_mmap.c	2000/12/06 04:42:35	1.22
  @@ -115,7 +115,7 @@
       ap_bucket_do_create(ap_bucket_make_mmap(b, mm, start, length));
   }
   
  -const ap_bucket_type ap_mmap_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_mmap_type = {
       "MMAP", 4,
       mmap_destroy,
       mmap_read,
  
  
  
  1.22      +1 -1      apr-util/src/buckets/ap_buckets_pipe.c
  
  Index: ap_buckets_pipe.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_pipe.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- ap_buckets_pipe.c	2000/12/05 01:02:50	1.21
  +++ ap_buckets_pipe.c	2000/12/06 04:42:35	1.22
  @@ -139,7 +139,7 @@
       ap_bucket_do_create(ap_bucket_make_pipe(b, p));
   }
   
  -const ap_bucket_type ap_pipe_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_pipe_type = {
       "PIPE", 4,
       ap_bucket_destroy_notimpl,
       pipe_read,
  
  
  
  1.6       +1 -1      apr-util/src/buckets/ap_buckets_pool.c
  
  Index: ap_buckets_pool.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_pool.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ap_buckets_pool.c	2000/12/05 01:02:50	1.5
  +++ ap_buckets_pool.c	2000/12/06 04:42:35	1.6
  @@ -132,7 +132,7 @@
       ap_bucket_do_create(ap_bucket_make_pool(b, buf, length, p));
   }
   
  -const ap_bucket_type ap_pool_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_pool_type = {
       "POOL", 4,
       pool_destroy,
       pool_read,
  
  
  
  1.15      +1 -1      apr-util/src/buckets/ap_buckets_simple.c
  
  Index: ap_buckets_simple.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_simple.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ap_buckets_simple.c	2000/12/05 01:02:50	1.14
  +++ ap_buckets_simple.c	2000/12/06 04:42:35	1.15
  @@ -179,7 +179,7 @@
       simple_split
   };
   
  -const ap_bucket_type ap_transient_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_transient_type = {
       "TRANSIENT", 4,
       ap_bucket_destroy_notimpl, 
       simple_read,
  
  
  
  1.11      +1 -1      apr-util/src/buckets/ap_buckets_socket.c
  
  Index: ap_buckets_socket.c
  ===================================================================
  RCS file: /home/cvs/apr-util/src/buckets/ap_buckets_socket.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ap_buckets_socket.c	2000/12/05 01:02:51	1.10
  +++ ap_buckets_socket.c	2000/12/06 04:42:35	1.11
  @@ -134,7 +134,7 @@
       ap_bucket_do_create(ap_bucket_make_socket(b, p));
   }
   
  -const ap_bucket_type ap_socket_type = {
  +APR_DECLARE_DATA const ap_bucket_type ap_socket_type = {
       "SOCKET", 4,
       ap_bucket_destroy_notimpl,
       socket_read,
  
  
  

Re: cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c

Posted by Bill Stoddard <bi...@wstoddard.com>.
> On 6 Dec 2000 stoddard@locus.apache.org wrote:
> 
> >   An alternate way to fix this problem is to explicitly break the bucket
> >   type out of the "type" structure in ap_bucketi and represent each bucket
> >   type with an enum.
> 
> We have been over this.  This was part of the original design for the
> buckets.  Using the types allows the buckets to be much more extensible,
> plus it shrinks the bucket structure, and it puts all of the bucket
> declarations in the same place in memory.
> 
> Ryan
> 

Yes, I agree. I only mentioned it as an aid to understanding the problem.

Bill


Re: cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c

Posted by rb...@covalent.net.
On 6 Dec 2000 stoddard@locus.apache.org wrote:

>   An alternate way to fix this problem is to explicitly break the bucket
>   type out of the "type" structure in ap_bucketi and represent each bucket
>   type with an enum.

We have been over this.  This was part of the original design for the
buckets.  Using the types allows the buckets to be much more extensible,
plus it shrinks the bucket structure, and it puts all of the bucket
declarations in the same place in memory.

Ryan

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


Re: cvs commit: apr-util/src/buckets ap_buckets_eos.c ap_buckets_file.c ap_buckets_flush.c ap_buckets_heap.c ap_buckets_mmap.c ap_buckets_pipe.c ap_buckets_pool.c ap_buckets_simple.c ap_buckets_socket.c

Posted by rb...@covalent.net.
On 6 Dec 2000 stoddard@locus.apache.org wrote:

>   An alternate way to fix this problem is to explicitly break the bucket
>   type out of the "type" structure in ap_bucketi and represent each bucket
>   type with an enum.

We have been over this.  This was part of the original design for the
buckets.  Using the types allows the buckets to be much more extensible,
plus it shrinks the bucket structure, and it puts all of the bucket
declarations in the same place in memory.

Ryan

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