Jeff,

  this is the wrong solution (and it was anticipated).  Since win32 and OS2 
don't
need the unix MPM's they were never fixed, apparently (from this report) they 
must be.

  We can't go munging system symbols, see the declarations in apr_errno.h for 
the
apr_get_netos_error() (and if we need it, we could implement an 
apr_set_netos_error() 
although it may not enjoy cross-platform support!)

  Patch the apr core and mpms to adopt this call instead of h_errno and 
implement your
solution in terms of declaring apr_get_netos_error() and the problem should go 
away.

Bill


----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Monday, April 30, 2001 7:33 AM
Subject: Re: os-unixware/7651: compilation of 
srclib/apr/network_io/unix/sa_common.c fails


> Synopsis: compilation of srclib/apr/network_io/unix/sa_common.c fails
> 
> State-Changed-From-To: open-feedback
> State-Changed-By: trawick
> State-Changed-When: Mon Apr 30 05:33:16 PDT 2001
> State-Changed-Why:
> Thanks for your report!
> 
> I don't have access to a system where set_h_errno() is needed, 
> but I have coded the following change to APR which should handle
> such a system.  Please let me know if it resolves the problem.
> (If I haven't heard back in a couple of days I'll commit the change
> and close the PR and you can open another one if it is still not
> fixed.)
>
> Index: configure.in
> ===================================================================
> RCS file: /home/cvspublic/apr/configure.in,v
> retrieving revision 1.295
> diff -u -r1.295 configure.in
> --- configure.in 2001/04/29 05:22:15 1.295
> +++ configure.in 2001/04/30 12:27:38
> @@ -1061,6 +1061,8 @@
>  AC_SUBST(have_corkable_tcp)
>  AC_SUBST(accept_filter)
>  
> +AC_CHECK_FUNCS(set_h_errno)
> +
>  echo $ac_n "${nl}Checking for IPv6 Networking support...${nl}"
>  dnl # Start of checking for IPv6 support...
>  AC_SEARCH_LIBS(getaddrinfo, inet6)
> Index: network_io/unix/sa_common.c
> ===================================================================
> RCS file: /home/cvspublic/apr/network_io/unix/sa_common.c,v
> retrieving revision 1.32
> diff -u -r1.32 sa_common.c
> --- network_io/unix/sa_common.c 2001/03/15 21:54:59 1.32
> +++ network_io/unix/sa_common.c 2001/04/30 12:27:39
> @@ -437,7 +437,13 @@
>      char tmphostname[256];
>  #endif
>  
> -    h_errno = 0; /* don't know if it is portable for getnameinfo() to set 
> h_errno */
> +    /* don't know if it is portable for getnameinfo() to set h_errno;
> +     * clear it then see if it was set */
> +#ifdef HAVE_SET_H_ERRNO
> +    set_h_errno(0);
> +#else
> +    h_errno = 0;
> +#endif
>      /* default flags are NI_NAMREQD; otherwise, getnameinfo() will return
>       * a numeric address string if it fails to resolve the host name;
>       * that is *not* what we want here
> 
> 
> 


Reply via email to