mturk 2005/06/18 07:34:28 Modified: jni/native/include tcn.h jni/native/src network.c Log: Add more assertions to the network for DEBUG builds. Revision Changes Path 1.24 +6 -5 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.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- tcn.h 18 Jun 2005 14:03:09 -0000 1.23 +++ tcn.h 18 Jun 2005 14:34:28 -0000 1.24 @@ -107,10 +107,11 @@ #define TCN_GETNET_METHOD(FN) method_##FN -#define TCN_SOCKET_APR 0 -#define TCN_SOCKET_SSL 1 -#define TCN_SOCKET_UNIX 2 -#define TCN_SOCKET_NTPIPE 3 +#define TCN_SOCKET_UNKNOWN 0 +#define TCN_SOCKET_APR 1 +#define TCN_SOCKET_SSL 2 +#define TCN_SOCKET_UNIX 3 +#define TCN_SOCKET_NTPIPE 4 typedef struct { apr_pool_t *pool; 1.33 +31 -11 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.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- network.c 18 Jun 2005 14:03:09 -0000 1.32 +++ network.c 18 Jun 2005 14:34:28 -0000 1.33 @@ -233,21 +233,24 @@ GET_S_FAMILY(f, family); GET_S_TYPE(t, type); - TCN_THROW_IF_ERR(apr_socket_create(&s, - f, t, protocol, p), a); - + if (family > 0) { + TCN_THROW_IF_ERR(apr_socket_create(&s, + f, t, protocol, p), a); + } #ifdef TCN_DO_STATISTICS sp_created++; #endif a = (tcn_socket_t *)apr_pcalloc(p, sizeof(tcn_socket_t)); a->sock = s; a->pool = p; - a->type = TCN_SOCKET_APR; - a->recv = APR_socket_recv; - a->send = APR_socket_send; - a->sendv = APR_socket_sendv; - a->shutdown = APR_socket_shutdown; - a->close = NULL; + if (family > 0) { + a->type = TCN_SOCKET_APR; + a->recv = APR_socket_recv; + a->send = APR_socket_send; + a->sendv = APR_socket_sendv; + a->shutdown = APR_socket_shutdown; + a->close = NULL; + } a->opaque = s; apr_pool_cleanup_register(p, (const void *)a, sp_socket_cleanup, @@ -262,6 +265,7 @@ { tcn_socket_t *s = J2P(sock, tcn_socket_t *); UNREFERENCED_STDARGS; + TCN_ASSERT(sock != 0); apr_pool_destroy(s->pool); } @@ -271,6 +275,7 @@ apr_pool_t *n; UNREFERENCED(o); + TCN_ASSERT(sock != 0); TCN_THROW_IF_ERR(apr_pool_create(&n, s->pool), n); cleanup: return P2J(n); @@ -313,6 +318,7 @@ UNREFERENCED_STDARGS; TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); return (jint)apr_socket_bind(s->sock, a); } @@ -323,6 +329,7 @@ UNREFERENCED_STDARGS; TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); return (jint)apr_socket_listen(s->sock, backlog); } @@ -336,6 +343,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); TCN_THROW_IF_ERR(apr_socket_accept(&n, s->sock, p), n); @@ -371,6 +379,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); TCN_THROW_IF_ERR(apr_pool_create(&p, s->pool), p); TCN_THROW_IF_ERR(apr_socket_accept(&n, s->sock, p), n); @@ -408,6 +417,7 @@ UNREFERENCED_STDARGS; TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); return (jint)apr_socket_connect(s->sock, a); } @@ -420,6 +430,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); #ifdef TCN_DO_STATISTICS sp_max_send = TCN_MAX(sp_max_send, nbytes); sp_min_send = TCN_MIN(sp_min_send, nbytes); @@ -430,7 +441,7 @@ if (tosend <= TCN_BUFFER_SZ) { char sb[TCN_BUFFER_SZ]; (*e)->GetByteArrayRegion(e, buf, offset, tosend, (jbyte *)sb); - ss = apr_socket_send(s->sock, sb, &nbytes); + ss = (*s->send)(s->opaque, sb, &nbytes); } else { jbyte *bytes; @@ -533,6 +544,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); bytes = (*e)->GetByteArrayElements(e, buf, NULL); TCN_ASSERT(bytes != NULL); @@ -611,6 +623,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); TCN_ASSERT(buf != NULL); if ((ss = apr_socket_timeout_get(s->sock, &t)) != APR_SUCCESS) @@ -705,6 +718,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); TCN_ASSERT(buf != NULL); + TCN_ASSERT(s->sock != NULL); bytes = (char *)(*e)->GetDirectBufferAddress(e, buf); TCN_ASSERT(bytes != NULL); @@ -751,6 +765,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); TCN_ASSERT(buf != NULL); ss = apr_socket_recvfrom(f, s->sock, (apr_int32_t)flags, bytes + offset, &nbytes); @@ -782,6 +797,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); TCN_THROW_IF_ERR(apr_socket_opt_get(s->sock, (apr_int32_t)opt, &on), on); cleanup: @@ -795,6 +811,7 @@ UNREFERENCED_STDARGS; TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); return (jint)apr_socket_timeout_set(s->sock, J2T(timeout)); } @@ -805,6 +822,7 @@ UNREFERENCED(o); TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); TCN_THROW_IF_ERR(apr_socket_timeout_get(s->sock, &timeout), timeout); cleanup: @@ -818,6 +836,8 @@ UNREFERENCED_STDARGS; TCN_ASSERT(sock != 0); + TCN_ASSERT(s->sock != NULL); + if (apr_socket_atmark(s->sock, &mark) != APR_SUCCESS) return JNI_FALSE; return mark ? JNI_TRUE : JNI_FALSE;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]