Re: Tagged 2.0

2003-09-29 Thread The Doctor
+1 on BSD/OS!!

On Mon, Sep 29, 2003 at 10:19:07AM -0600, Brad Nicholes wrote:
> -1 on NetWare.  With the new call to apr_atomic_init() that was added to
> apr_pool.c, apr_pool.c must now #include apr_atomic.h in order to pick
> up the NETWARE macro for apr_atomic_init.  Without it, it doesn't
> compile.
> 
> Brad
> 
> Brad Nicholes
> Senior Software Engineer
> Novell, Inc., the leading provider of Net business solutions
> http://www.novell.com 
> 
> >>> [EMAIL PROTECTED] Saturday, September 27, 2003 6:43:53 PM >>>
> > From: Sander Striker [mailto:[EMAIL PROTECTED] 
> > Sent: Wednesday, September 17, 2003 2:24 PM
> 
> > Tell you what, if I see those merges start trickling in, I'll hold
> the
> > pre3 tag til friday.  We'll put the thing on minotaur directly, and
> > announce to stable-testers.  I'm hoping we can get enough +1s around
> > tuesday/wednesday to push out the final release.
> 
> Ok, I've tagged pre3.  I consider this the last tag and I'd like to
> turn that into the next 2.0 release.
> 
> Testing tarballs are up at:
> 
>   http://www.apache.org/~striker/httpd-2.0.48-pre3/ 
> 
>  
> > I haven't been pushing this release hard enough.  It's dragging
> > on way too long...  Sorry about that.
> 
> I guess I didn't really make a difference last week...
> 
> 
> 
> Sander

-- 
Member - Liberal International  On 11 Sept 2001 the WORLD was violated.
This is [EMAIL PROTECTED]   Ici [EMAIL PROTECTED]
Society MUST be saved! Extremists must dissolve.  
Ontario on 2 Octo 2003, VOTE LIBERAL!!


[PATCH] move APR_INADDR_NONE definition

2003-09-29 Thread Joe Orton
Is there any reason why APR_INADDR_NONE must be defined in apr.h and
detected at configure-time which I'm missing?

Index: configure.in
===
RCS file: /home/cvs/apr/configure.in,v
retrieving revision 1.538
diff -u -r1.538 configure.in
--- configure.in29 Sep 2003 16:10:08 -  1.538
+++ configure.in29 Sep 2003 19:39:15 -
@@ -1021,8 +1021,6 @@
 
 APR_CHECK_SOCKLEN_T
 
-APR_INADDR_NONE
-
 dnl Checks for pointer size
 AC_CHECK_SIZEOF(void*, 4)
 
Index: build/apr_network.m4
===
RCS file: /home/cvs/apr/build/apr_network.m4,v
retrieving revision 1.27
diff -u -r1.27 apr_network.m4
--- build/apr_network.m429 Sep 2003 19:38:35 -  1.27
+++ build/apr_network.m429 Sep 2003 19:39:15 -
@@ -689,41 +689,6 @@
 ])
 
 dnl
-dnl APR_INADDR_NONE
-dnl
-dnl checks for missing INADDR_NONE macro
-dnl
-AC_DEFUN(APR_INADDR_NONE,[
-  AC_CACHE_CHECK(whether system defines INADDR_NONE, ac_cv_inaddr_none,[
-  AC_TRY_COMPILE([
-#ifdef HAVE_SYS_TYPES_H
-#include 
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include 
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include 
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include 
-#endif
-],[
-unsigned long foo = INADDR_NONE;
-],[
-ac_cv_inaddr_none=yes
-],[
-ac_cv_inaddr_none=no
-])])
-  if test "$ac_cv_inaddr_none" = "no"; then
-apr_inaddr_none="((unsigned int) 0x)"
-  else
-apr_inaddr_none="INADDR_NONE"
-  fi
-])
-
-
-dnl
 dnl APR_H_ERRNO_COMPILE_CHECK
 dnl
 AC_DEFUN(APR_H_ERRNO_COMPILE_CHECK,[
Index: include/apr.hnw
===
RCS file: /home/cvs/apr/include/apr.hnw,v
retrieving revision 1.34
diff -u -r1.34 apr.hnw
--- include/apr.hnw 15 Apr 2003 21:45:58 -  1.34
+++ include/apr.hnw 29 Sep 2003 19:39:15 -
@@ -234,11 +234,6 @@
  */
 #define APR_FILES_AS_SOCKETS  1
 
-/* Not all platforms have a real INADDR_NONE.  This macro replaces INADDR_NONE
- * on all platforms.
- */
-#define APR_INADDR_NONE   INADDR_NONE
-
 /* This macro indicates whether or not EBCDIC is the native character set.
  */
 #define APR_CHARSET_EBCDIC0
Index: include/apr.hw
===
RCS file: /home/cvs/apr/include/apr.hw,v
retrieving revision 1.115
diff -u -r1.115 apr.hw
--- include/apr.hw  15 Apr 2003 22:28:13 -  1.115
+++ include/apr.hw  29 Sep 2003 19:39:15 -
@@ -333,11 +333,6 @@
  */
 #define APR_FILES_AS_SOCKETS  0
 
-/* Not all platforms have a real INADDR_NONE.  This macro replaces INADDR_NONE
- * on all platforms.
- */
-#define APR_INADDR_NONE   INADDR_NONE
-
 /* This macro indicates whether or not EBCDIC is the native character set.
  */
 #define APR_CHARSET_EBCDIC0
Index: include/apr_network_io.h
===
RCS file: /home/cvs/apr/include/apr_network_io.h,v
retrieving revision 1.145
diff -u -r1.145 apr_network_io.h
--- include/apr_network_io.h29 Sep 2003 16:10:08 -  1.145
+++ include/apr_network_io.h29 Sep 2003 19:39:15 -
@@ -157,6 +157,16 @@
 };
 #endif
 
+/** @def APR_INADDR_NONE
+ * Not all platforms have a real INADDR_NONE.  This macro replaces
+ * INADDR_NONE on all platforms.
+ */
+#ifdef INADDR_NONE
+#define APR_INADDR_NONE INADDR_NONE
+#else
+#define APR_INADDR_NONE ((unsigned int) 0x)
+#endif
+
 /**
  * @def APR_INET
  * Not all platforms have these defined, so we'll define them here


RE: Tagged 2.0

2003-09-29 Thread Brad Nicholes
-1 on NetWare.  With the new call to apr_atomic_init() that was added to
apr_pool.c, apr_pool.c must now #include apr_atomic.h in order to pick
up the NETWARE macro for apr_atomic_init.  Without it, it doesn't
compile.

Brad

Brad Nicholes
Senior Software Engineer
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com 

>>> [EMAIL PROTECTED] Saturday, September 27, 2003 6:43:53 PM >>>
> From: Sander Striker [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, September 17, 2003 2:24 PM

> Tell you what, if I see those merges start trickling in, I'll hold
the
> pre3 tag til friday.  We'll put the thing on minotaur directly, and
> announce to stable-testers.  I'm hoping we can get enough +1s around
> tuesday/wednesday to push out the final release.

Ok, I've tagged pre3.  I consider this the last tag and I'd like to
turn that into the next 2.0 release.

Testing tarballs are up at:

  http://www.apache.org/~striker/httpd-2.0.48-pre3/ 

 
> I haven't been pushing this release hard enough.  It's dragging
> on way too long...  Sorry about that.

I guess I didn't really make a difference last week...



Sander


Re: cvs commit: apr configure.in Makefile.in

2003-09-29 Thread Joe Orton
On Mon, Sep 29, 2003 at 02:20:02PM -, [EMAIL PROTECTED] wrote:
...
>$(TARGET_LIB):
>   @for i in $(SUBDIRS); do objects="$$objects $$i/[EMAIL PROTECTED]@"; 
> done ; \
>   -   tmpcmd="$(LINK) @lib_target@ @lib_target_libs@"; \
>   +   tmpcmd="$(LINK) @lib_target@ $(ALL_LIBS)"; \
>   echo $$tmpcmd; \
>   $$tmpcmd && touch $@
>

Hmm, this probably breaks the --without-libtool build - does anybody
actually use that configuration?


Re: problem building apr on darwin

2003-09-29 Thread Jeff Trawick
chiggsy wrote:
Hello all,
I am having a problem building apr on darwin.
I am using :
darwin 7.0.0
gcc 3.3
 and here is the error i get :
poll.c: In function `apr_poll':
poll.c:126: error: storage size of `pollset' isn't known
problem was caused by finding poll() but no header file with definitions 
necessary for poll

attached is one possible patch to play with that causes apr to refuse to 
use poll unless we have the required definitions

it would be better to make sure we have the appropriate definitions 
first, and only then check for poll()...  that way HAVE_POLL is set properly

so this patch is just to incite someone to reaffirm that they have 
enough pride (not to mention time) to do it the right way :)

Index: acconfig.h
===
RCS file: /home/cvs/apr/acconfig.h,v
retrieving revision 1.64
diff -u -r1.64 acconfig.h
--- acconfig.h  16 Feb 2003 21:59:09 -  1.64
+++ acconfig.h  29 Sep 2003 12:35:01 -
@@ -24,6 +24,8 @@
 
 #undef HAVE_INT64_C
 
+#undef USE_POLL
+
 @BOTTOM@
 
 /* Make sure we have ssize_t defined to be something */
Index: configure.in
===
RCS file: /home/cvs/apr/configure.in,v
retrieving revision 1.535
diff -u -r1.535 configure.in
--- configure.in2 Sep 2003 08:42:54 -   1.535
+++ configure.in29 Sep 2003 12:35:03 -
@@ -1448,6 +1448,20 @@
 # any POLL definitions.
 APR_CHECK_DEFINE_FILES(POLLIN, poll.h sys/poll.h)
 
+# Can we really use poll()?  We must have the function as
+# well as POLLIN defined in the system headers.  Otherwise,
+# we'll implement APR poll functions using select().
+if test "$ac_cv_func_poll" = "yes"; then
+  APR_IFALLYES(define:POLLIN func:poll, hasusablepoll="1", hasusablepoll="0")
+  AC_MSG_CHECKING(if poll function can be used)
+  if test "$hasusablepoll" = "1"; then
+AC_MSG_RESULT(yes)
+AC_DEFINE(USE_POLL)
+  else
+AC_MSG_RESULT(no)
+  fi
+fi
+
 if test "$threads" = "1"; then
 APR_CHECK_DEFINE(PTHREAD_PROCESS_SHARED, pthread.h)
 AC_CHECK_FUNCS(pthread_mutexattr_setpshared)
Index: include/arch/unix/apr_arch_networkio.h
===
RCS file: /home/cvs/apr/include/arch/unix/apr_arch_networkio.h,v
retrieving revision 1.2
diff -u -r1.2 apr_arch_networkio.h
--- include/arch/unix/apr_arch_networkio.h  8 Jul 2003 12:53:10 -   
1.2
+++ include/arch/unix/apr_arch_networkio.h  29 Sep 2003 12:35:03 -
@@ -137,7 +137,7 @@
 apr_sockaddr_t *local_addr;
 apr_sockaddr_t *remote_addr;
 apr_interval_time_t timeout; 
-#ifndef HAVE_POLL
+#ifndef USE_POLL
 int connected;
 #endif
 int local_port_unknown;
Index: network_io/unix/sockets.c
===
RCS file: /home/cvs/apr/network_io/unix/sockets.c,v
retrieving revision 1.111
diff -u -r1.111 sockets.c
--- network_io/unix/sockets.c   3 Sep 2003 14:43:52 -   1.111
+++ network_io/unix/sockets.c   29 Sep 2003 12:35:03 -
@@ -188,7 +188,7 @@
 alloc_socket(new, connection_context);
 set_socket_vars(*new, sock->local_addr->sa.sin.sin_family, SOCK_STREAM, 
sock->protocol);
 
-#ifndef HAVE_POLL
+#ifndef USE_POLL
 (*new)->connected = 1;
 #endif
 (*new)->timeout = -1;
@@ -305,7 +305,7 @@
  */
 sock->local_interface_unknown = 1;
 }
-#ifndef HAVE_POLL
+#ifndef USE_POLL
 sock->connected=1;
 #endif
 return APR_SUCCESS;
@@ -374,7 +374,7 @@
 (*apr_sock)->local_port_unknown = (*apr_sock)->local_interface_unknown 
= 1;
 }
 if (os_sock_info->remote) {
-#ifndef HAVE_POLL
+#ifndef USE_POLL
 (*apr_sock)->connected = 1;
 #endif
 memcpy(&(*apr_sock)->remote_addr->sa.sin, 
Index: poll/unix/poll.c
===
RCS file: /home/cvs/apr/poll/unix/poll.c,v
retrieving revision 1.38
diff -u -r1.38 poll.c
--- poll/unix/poll.c7 Jan 2003 00:52:56 -   1.38
+++ poll/unix/poll.c29 Sep 2003 12:35:04 -
@@ -73,7 +73,7 @@
 #define HAS_PIPES(dt) (dt == APR_POLL_FILE) ? 1 : 0
 #endif
 
-#ifdef HAVE_POLL/* We can just use poll to do our socket polling. */
+#ifdef USE_POLL/* We can just use poll to do our socket polling. */
 
 static apr_int16_t get_event(apr_int16_t event)
 {
@@ -321,7 +321,7 @@
 struct apr_pollset_t {
 apr_uint32_t nelts;
 apr_uint32_t nalloc;
-#ifdef HAVE_POLL
+#ifdef USE_POLL
 struct pollfd *pollset;
 #else
 fd_set readset, writeset, exceptset;
@@ -340,7 +340,7 @@
  apr_pool_t *p,
  apr_uint32_t flags)
 {
-#if !defined(HAVE_POLL) && defined(FD_SETSIZE)
+#if !defined(USE_POLL) && defined(FD_SETSIZE)
 if (size > FD_SETSIZE) {
 *pollset = NULL;
 return APR_EINVAL;
@@ -349,7 +349,7 @@
 *pollset = apr_palloc(p, sizeof(**pollset));
 (*polls

Re: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Branko Äibej
Cliff Woolley wrote:

>On Mon, 29 Sep 2003, [UTF-8] Branko ?^Libej wrote:
>
>  
>
Huh, not surprising. apr_atomic.h does _not_ define apr_atomic_init on
Win32, Netware, FreeBSD, Linux, MVS and djgpp; no wonder there are
dangling references to it in apr_pools.obj.


>>Uh -- I said HEAD, not the 0.9 branch.
>>
>>
>
>As a data point, the test builds I ran earlier today where I caught the
>missing #include "apr_atomic.h" in apr_pools.c were run on Linux.  After
>including that, the warning about having no definition of
>apr_atomic_init() went away, so it must be getting _something_.
>  
>
The linux build (probably) uses atomic/unix/apr_atomic.c. The Windows
build doesn't. Since I've been building the static library, this missing
reference isn't noticed until the library is actually used in a link.

Anyway, I'll wait until the author of the new atomics API can give me a
hint about the genericity of unix/apr_atomic.c. Looks O.K. to me, but I
can live on the branch for now and 4 a.m. isn't exactly the best time to
start experimenting.

-- 
Brane Äibej   <[EMAIL PROTECTED]>   http://www.xbc.nu/brane/



Re: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Cliff Woolley
On Mon, 29 Sep 2003, [UTF-8] Branko Ä^Libej wrote:

> >>Huh, not surprising. apr_atomic.h does _not_ define apr_atomic_init on
> >>Win32, Netware, FreeBSD, Linux, MVS and djgpp; no wonder there are
> >>dangling references to it in apr_pools.obj.
>
> Uh -- I said HEAD, not the 0.9 branch.

As a data point, the test builds I ran earlier today where I caught the
missing #include "apr_atomic.h" in apr_pools.c were run on Linux.  After
including that, the warning about having no definition of
apr_atomic_init() went away, so it must be getting _something_.

--Cliff


RE: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Sander Striker
> From: Branko Cibej [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 29, 2003 3:31 AM

[...]
> >Looks like a definition to me...  Why doesn't this work?
> >  
> >
> Uh -- I said HEAD, not the 0.9 branch.

Doh.
 
>>> Since there's a whole bunch of atomics that do _not_ have a
>>> Win32-specific implementation in apr_atomic.h, my guess is that we need
>>> to build apr_atomic.c on Windows.

Worth a shot.  It looks generic enough.


Sander



Re: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Branko Äibej
Sander Striker wrote:

>>From: Branko Cibej [mailto:[EMAIL PROTECTED]
>>Sent: Monday, September 29, 2003 3:22 AM
>>
>>
>
>  
>
>>Branko Äibej wrote:
>>
>>
>>
>>>Also, I'm being double stupid because it's not APR that doesn't compile,
>>>it's APR-iconv. Ho hum. Now how can that happen?
>>>
>>>/me grumbles and looks
>>> 
>>>
>>>  
>>>
>>Huh, not surprising. apr_atomic.h does _not_ define apr_atomic_init on
>>Win32, Netware, FreeBSD, Linux, MVS and djgpp; no wonder there are
>>dangling references to it in apr_pools.obj.
>>
>>
>
>Huh?
>
>#if defined(WIN32)
>
>#define apr_atomic_t LONG
>
>#define apr_atomic_add(mem, val) InterlockedExchangeAdd(mem,val)
>#define apr_atomic_dec(mem)  InterlockedDecrement(mem)
>#define apr_atomic_inc(mem)  InterlockedIncrement(mem)
>#define apr_atomic_set(mem, val) InterlockedExchange(mem, val)
>#define apr_atomic_read(mem) (*mem)
>#define apr_atomic_cas(mem,with,cmp) InterlockedCompareExchange(mem,with,cmp)
>#define apr_atomic_init(pool)APR_SUCCESS
>#define apr_atomic_casptr(mem,with,cmp) 
>InterlockedCompareExchangePointer(mem,with,cmp)
>
>Looks like a definition to me...  Why doesn't this work?
>  
>
Uh -- I said HEAD, not the 0.9 branch.

> 
>  
>
>>Since there's a whole bunch of atomics that do _not_ have a
>>Win32-specific implementation in apr_atomic.h, my guess is that we need
>>to build apr_atomic.c on Windows.
>>
>>
>
>Isn't the above the full atomics API?
>
>
>Sander 'getting confused now'
>
>  
>


-- 
Brane Äibej   <[EMAIL PROTECTED]>   http://www.xbc.nu/brane/



RE: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Sander Striker
> From: Branko Cibej [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 29, 2003 3:22 AM

> Branko Äibej wrote:
> 
> >Also, I'm being double stupid because it's not APR that doesn't compile,
> >it's APR-iconv. Ho hum. Now how can that happen?
> >
> >/me grumbles and looks
> >  
> >
> 
> Huh, not surprising. apr_atomic.h does _not_ define apr_atomic_init on
> Win32, Netware, FreeBSD, Linux, MVS and djgpp; no wonder there are
> dangling references to it in apr_pools.obj.

Huh?

#if defined(WIN32)

#define apr_atomic_t LONG

#define apr_atomic_add(mem, val) InterlockedExchangeAdd(mem,val)
#define apr_atomic_dec(mem)  InterlockedDecrement(mem)
#define apr_atomic_inc(mem)  InterlockedIncrement(mem)
#define apr_atomic_set(mem, val) InterlockedExchange(mem, val)
#define apr_atomic_read(mem) (*mem)
#define apr_atomic_cas(mem,with,cmp) InterlockedCompareExchange(mem,with,cmp)
#define apr_atomic_init(pool)APR_SUCCESS
#define apr_atomic_casptr(mem,with,cmp) 
InterlockedCompareExchangePointer(mem,with,cmp)

Looks like a definition to me...  Why doesn't this work?
 
> Since there's a whole bunch of atomics that do _not_ have a
> Win32-specific implementation in apr_atomic.h, my guess is that we need
> to build apr_atomic.c on Windows.

Isn't the above the full atomics API?


Sander 'getting confused now'



Re: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Branko Äibej
Branko Äibej wrote:

>Also, I'm being double stupid because it's not APR that doesn't compile,
>it's APR-iconv. Ho hum. Now how can that happen?
>
>/me grumbles and looks
>  
>

Huh, not surprising. apr_atomic.h does _not_ define apr_atomic_init on
Win32, Netware, FreeBSD, Linux, MVS and djgpp; no wonder there are
dangling references to it in apr_pools.obj.

Since there's a whole bunch of atomics that do _not_ have a
Win32-specific implementation in apr_atomic.h, my guess is that we need
to build apr_atomic.c on Windows.

-- 
Brane Äibej   <[EMAIL PROTECTED]>   http://www.xbc.nu/brane/



Re: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Branko Äibej
Sander Striker wrote:

>>From: Branko Cibej [mailto:[EMAIL PROTECTED]
>>Sent: Monday, September 29, 2003 2:56 AM
>>
>>
>
>  
>
>>[snip]
>>
>>I can't believe we don't have a Win32 implementation of the atomics. So
>>right now, HEAD doesn't compile on Windows. :-(
>>
>>
>
>Sure we do.  Take a look at include/apr_atomic.h
>  
>
Hm, right, ouch, sorry, silly me.

>Is the implementation in unix/ generic enough to work anywhere? If it
>is, I'll temporarily add it to apr.dsp.
>  
>
>
>No need.  The include file redefines about everything AFAICT.
>  
>
Also, I'm being double stupid because it's not APR that doesn't compile,
it's APR-iconv. Ho hum. Now how can that happen?

/me grumbles and looks


-- 
Brane Äibej   <[EMAIL PROTECTED]>   http://www.xbc.nu/brane/



RE: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Sander Striker
> From: Branko Cibej [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 29, 2003 2:56 AM

> [snip]
> 
> I can't believe we don't have a Win32 implementation of the atomics. So
> right now, HEAD doesn't compile on Windows. :-(

Sure we do.  Take a look at include/apr_atomic.h
 
> Is the implementation in unix/ generic enough to work anywhere? If it
> is, I'll temporarily add it to apr.dsp.

No need.  The include file redefines about everything AFAICT.


Sander



Re: cvs commit: apr/memory/unix apr_pools.c

2003-09-29 Thread Branko Äibej
[EMAIL PROTECTED] wrote:

>striker 2003/09/27 16:51:46
>
>  Modified:misc/unix start.c
>   memory/unix apr_pools.c
>  Log:
>  * misc/unix/start.c
>  
>(apr_initialize): Remove atomics initialization from this function.  Due
>  to circular dependency, doing it here is too late.
>  
>  * memory/unix/apr_pools.c
>  
>(apr_pool_initialize): Add atomics initialization to the release and debug
>  versions.  This has to happen here, since pools rely on mutexes, which
>  can be backed by atomics.  Atomics initialization requires a pool.
>  
>
[snip]

I can't believe we don't have a Win32 implementation of the atomics. So
right now, HEAD doesn't compile on Windows. :-(

Is the implementation in unix/ generic enough to work anywhere? If it
is, I'll temporarily add it to apr.dsp.


-- 
Brane Äibej   <[EMAIL PROTECTED]>   http://www.xbc.nu/brane/