On Fri, Jan 24, 2014 at 10:46 AM, <jim@apache.org> 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/