mturk 2005/06/10 00:06:10
Modified: jni/java/org/apache/tomcat/jni Status.java
jni/native/include tcn.h
jni/native/src network.c poll.c
Log:
Use macros for portable wrapping of APR_STATUS_IS to
user error messages for most common return values
Revision Changes Path
1.8 +4 -1
jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Status.java
Index: Status.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Status.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Status.java 9 Jun 2005 11:13:40 -0000 1.7
+++ Status.java 10 Jun 2005 07:06:10 -0000 1.8
@@ -177,6 +177,9 @@
public static final int TIMEUP = (APR_OS_START_USERERR + 1);
public static final int EAGAIN = (APR_OS_START_USERERR + 2);
+ public static final int EINTR = (APR_OS_START_USERERR + 3);
+ public static final int EINPROGRESS = (APR_OS_START_USERERR + 4);
+ public static final int ETIMEDOUT = (APR_OS_START_USERERR + 5);
private static native boolean is(int err, int idx);
/**
1.15 +20 -3 jakarta-tomcat-connectors/jni/native/include/tcn.h
Index: tcn.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/include/tcn.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- tcn.h 9 Jun 2005 11:13:40 -0000 1.14
+++ tcn.h 10 Jun 2005 07:06:10 -0000 1.15
@@ -39,8 +39,25 @@
#define APR_MAX_IOVEC_SIZE 1024
#endif
-#define TCN_TIMEUP APR_OS_START_USERERR + 1
-#define TCN_EAGAIN APR_OS_START_USERERR + 2
+#define TCN_TIMEUP APR_OS_START_USERERR + 1
+#define TCN_EAGAIN APR_OS_START_USERERR + 2
+#define TCN_EINTR APR_OS_START_USERERR + 3
+#define TCN_EINPROGRESS APR_OS_START_USERERR + 4
+#define TCN_ETIMEDOUT APR_OS_START_USERERR + 5
+
+#define TCN_ERROR_WRAP(E) \
+ if (APR_STATUS_IS_TIMEUP(E)) \
+ (E) = TCN_TIMEUP; \
+ else if (APR_STATUS_IS_EAGAIN(E)) \
+ (E) = TCN_EAGAIN; \
+ else if (APR_STATUS_IS_EINTR(E)) \
+ (E) = TCN_EINTR; \
+ else if (APR_STATUS_IS_EINPROGRESS(E)) \
+ (E) = TCN_EINPROGRESS; \
+ else if (APR_STATUS_IS_ETIMEDOUT(E)) \
+ (E) = TCN_ETIMEDOUT; \
+ else \
+ (E) = (E)
#define TCN_CLASS_PATH "org/apache/tomcat/jni/"
#define TCN_FINFO_CLASS TCN_CLASS_PATH "FileInfo"
1.25 +11 -21 jakarta-tomcat-connectors/jni/native/src/network.c
Index: network.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/network.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- network.c 9 Jun 2005 11:13:40 -0000 1.24
+++ network.c 10 Jun 2005 07:06:10 -0000 1.25
@@ -292,8 +292,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -315,8 +314,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -351,8 +349,7 @@
if (ss == APR_SUCCESS)
return (jint)written;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -386,8 +383,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -410,8 +406,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -444,8 +439,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -468,8 +462,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -501,8 +494,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -527,8 +519,7 @@
if (ss == APR_SUCCESS)
return (jint)nbytes;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jint)ss;
}
}
@@ -656,8 +647,7 @@
if (ss == APR_SUCCESS)
return (jlong)written;
else {
- if (APR_STATUS_IS_EAGAIN(ss))
- ss = TCN_EAGAIN;
+ TCN_ERROR_WRAP(ss);
return -(jlong)ss;
}
}
1.18 +2 -5 jakarta-tomcat-connectors/jni/native/src/poll.c
Index: poll.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- poll.c 9 Jun 2005 11:13:40 -0000 1.17
+++ poll.c 10 Jun 2005 07:06:10 -0000 1.18
@@ -250,10 +250,7 @@
p->sp_poll++;
#endif
if ((rv = apr_pollset_poll(p->pollset, J2T(timeout), &num, &fd)) !=
APR_SUCCESS) {
- if (APR_STATUS_IS_TIMEUP(rv))
- rv = TCN_TIMEUP;
- else if (APR_STATUS_IS_EAGAIN(rv))
- rv = TCN_EAGAIN;
+ TCN_ERROR_WRAP(rv);
#ifdef TCN_DO_STATISTICS
if (rv == TCN_TIMEUP)
p->sp_poll_timeout++;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]