Re: Tagged 2.0
+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
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
-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
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
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
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
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
> 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
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
> 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
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
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
> 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
[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/