Author: tross
Date: Mon Nov 12 19:12:18 2012
New Revision: 1408412

URL: http://svn.apache.org/viewvc?rev=1408412&view=rev
Log:
PROTON-125 - Wrapped EINTR error in new proton error code PN_INTR

Modified:
    qpid/proton/trunk/proton-c/include/proton/error.h
    qpid/proton/trunk/proton-c/src/error.c

Modified: qpid/proton/trunk/proton-c/include/proton/error.h
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/include/proton/error.h?rev=1408412&r1=1408411&r2=1408412&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/include/proton/error.h (original)
+++ qpid/proton/trunk/proton-c/include/proton/error.h Mon Nov 12 19:12:18 2012
@@ -37,6 +37,7 @@ typedef struct pn_error_t pn_error_t;
 #define PN_STATE_ERR (-5)
 #define PN_ARG_ERR (-6)
 #define PN_TIMEOUT (-7)
+#define PN_INTR (-8)
 
 const char *pn_code(int code);
 

Modified: qpid/proton/trunk/proton-c/src/error.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/error.c?rev=1408412&r1=1408411&r2=1408412&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/error.c (original)
+++ qpid/proton/trunk/proton-c/src/error.c Mon Nov 12 19:12:18 2012
@@ -92,7 +92,10 @@ int pn_error_from_errno(pn_error_t *erro
 {
   char err[1024];
   strerror_r(errno, err, 1024);
-  return pn_error_format(error, PN_ERR, "%s: %s", msg, err);
+  int code = PN_ERR;
+  if (errno == EINTR)
+      code = PN_INTR;
+  return pn_error_format(error, code, "%s: %s", msg, err);
 }
 
 int pn_error_code(pn_error_t *error)
@@ -116,6 +119,8 @@ const char *pn_code(int code)
   case PN_UNDERFLOW: return "PN_UNDERFLOW";
   case PN_STATE_ERR: return "PN_STATE_ERR";
   case PN_ARG_ERR: return "PN_ARG_ERR";
+  case PN_TIMEOUT: return "PN_TIMEOUT";
+  case PN_INTR: return "PN_INTR";
   default: return "<unknown>";
   }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to