William A. Rowe, Jr. wrote:

Including Jeff and Brian's efforts for their respective platforms, I'm 
suggesting
the apr_socket_atmark() for backport to 0.9.  Adjusted patch is attached.

configure.in rev 1.544 1.545
include/apr.h.in rev 1.128 1.129
include/apr.hnw rev 1.37
include/apr.hw rev 1.118
include/apr_network_io.h rev 1.147
include/arch/unix/apr_arch_networkio.h rev 1.3 1.4
network_io/os2/sockopt.c rev 1.35 1.36
network_io/unix/sockopt.c rev 1.72
network_io/win32/sockopt.c rev 1.54

one concern:

When I was tweaking the atmark logic recently to support AIX and z/OS, I considered adding in

#ifdef SIOCATMARK
  logic
#else
  return not-implemented
#endif

However, I figured that as this is APR pre-1.0 we can stand to leave it alone for a while and see where else it blows up. Maybe that "blow up" will be the hint necessary to make it work correctly on that platform, or maybe it will simply mean that it can't be supported on that platform and we really need the not-implemented path.

But for the 0_9_BRANCH, I think we should be more protective of the build and not break the build if SIOCATMARK isn't found or available. Presumably most of the existing software that is bound to 0_9_BRANCH does not care about atmark, and we have some notable applications (httpd) whose users need to be able to upgrade with no build surprises. So I suggest tweaking the code in 0_9_BRANCH to return not-implemented if the symbol isn't found. As far as such a change in HEAD: Roy-style shrug.




Reply via email to