I could just check that APR_EOPNOTSUPP is defined ;) In any case, yeah, I know... but not implemented isn't the same as not supported, and so I'm not sure the best thing to do here. So comments/suggestions are welcomed :)
On Jan 24, 2014, at 3:12 PM, Jeff Trawick <[email protected]> wrote: > On Fri, Jan 24, 2014 at 10:46 AM, <[email protected]> wrote: > Author: jim > Date: Fri Jan 24 15:46:47 2014 > New Revision: 1561041 > > URL: http://svn.apache.org/r1561041 > Log: > Merge r1561040 from trunk: > > Using UDS, we sometime try ops not supported on UDS. Make this > a known (and therfore handable) issue > > Reviewed/backported by: jim > > Modified: > apr/apr/branches/1.5.x/ (props changed) > apr/apr/branches/1.5.x/include/apr_errno.h > > Propchange: apr/apr/branches/1.5.x/ > ------------------------------------------------------------------------------ > Merged /apr/apr/trunk:r1561040 > > Modified: apr/apr/branches/1.5.x/include/apr_errno.h > URL: > http://svn.apache.org/viewvc/apr/apr/branches/1.5.x/include/apr_errno.h?rev=1561041&r1=1561040&r2=1561041&view=diff > ============================================================================== > --- apr/apr/branches/1.5.x/include/apr_errno.h (original) > +++ apr/apr/branches/1.5.x/include/apr_errno.h Fri Jan 24 15:46:47 2014 > @@ -833,6 +833,13 @@ APR_DECLARE(char *) apr_strerror(apr_sta > #define APR_EAFNOSUPPORT (APR_OS_START_CANONERR + 27) > #endif > > +/** @see APR_STATUS_IS_EOPNOTSUPP */ > +#ifdef EOPNOTSUPP > +#define APR_EOPNOTSUPP EOPNOTSUPP > +#else > +#define APR_EOPNOTSUPP (APR_OS_START_CANONERR + 28) > +#endif > > Doesn't this new API break APR versioning rules? An app shouldn't have to > check for a specific patch level (as in your httpd change). > > Aside from versioning, should APR reuse existing rc APR_ENOTIMPL when it sees > EOPNOTSUPP and/or APR_STATUS_IS_ENOTIMPL() checks for EOPNOTSUPP? > > Nothing seems quite right... > > + > /** @} */ > > #if defined(OS2) && !defined(DOXYGEN) > @@ -977,6 +984,8 @@ APR_DECLARE(char *) apr_strerror(apr_sta > || (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED) > #define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_AFNOSUPPORT \ > || (s) == APR_OS_START_SYSERR + SOCEAFNOSUPPORT) > +#define APR_STATUS_IS_EOPNOTSUPP(s) ((s) == APR_EOPNOTSUPP \ > + || (s) == APR_OS_START_SYSERR + SOCEOPNOTSUPP) > > /* > Sorry, too tired to wrap this up for OS2... feel free to > @@ -990,7 +999,6 @@ APR_DECLARE(char *) apr_strerror(apr_sta > { SOCENOPROTOOPT, ENOPROTOOPT }, > { SOCEPROTONOSUPPORT, EPROTONOSUPPORT }, > { SOCESOCKTNOSUPPORT, ESOCKTNOSUPPORT }, > - { SOCEOPNOTSUPP, EOPNOTSUPP }, > { SOCEPFNOSUPPORT, EPFNOSUPPORT }, > { SOCEADDRINUSE, EADDRINUSE }, > { SOCEADDRNOTAVAIL, EADDRNOTAVAIL }, > @@ -1122,6 +1130,8 @@ APR_DECLARE(char *) apr_strerror(apr_sta > || (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY) > #define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_EAFNOSUPPORT \ > || (s) == APR_OS_START_SYSERR + WSAEAFNOSUPPORT) > +#define APR_STATUS_IS_EOPNOTSUPP(s) ((s) == APR_EOPNOTSUPP \ > + || (s) == APR_OS_START_SYSERR + WSAEOPNOTSUPP) > > #elif defined(NETWARE) && defined(USE_WINSOCK) && !defined(DOXYGEN) /* > !defined(OS2) && !defined(WIN32) */ > > @@ -1183,6 +1193,8 @@ APR_DECLARE(char *) apr_strerror(apr_sta > #define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY) > #define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_EAFNOSUPPORT \ > || (s) == APR_OS_START_SYSERR + WSAEAFNOSUPPORT) > +#define APR_STATUS_IS_EOPNOTSUPP(s) ((s) == APR_EOPNOTSUPP \ > + || (s) == APR_OS_START_SYSERR + WSAEOPNOTSUPP) > > #else /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */ > > @@ -1302,6 +1314,8 @@ APR_DECLARE(char *) apr_strerror(apr_sta > (s) == APR_EEXIST) > /** Address Family not supported */ > #define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_EAFNOSUPPORT) > +/** Socket operation not supported */ > +#define APR_STATUS_IS_EOPNOTSUPP(s) ((s) == APR_EOPNOTSUPP) > /** @} */ > > #endif /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */ > > > > > > -- > Born in Roswell... married an alien... > http://emptyhammock.com/
