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]

Reply via email to