costin      02/05/10 17:02:53

  Modified:    jk/native2/common jk_channel_jni.c
  Log:
  Display a small warning if getArray() doesn't pin, it's an indication
  of possible performance problems.
  
  Revision  Changes    Path
  1.17      +14 -4     jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c
  
  Index: jk_channel_jni.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- jk_channel_jni.c  10 May 2002 00:01:37 -0000      1.16
  +++ jk_channel_jni.c  11 May 2002 00:02:53 -0000      1.17
  @@ -317,7 +317,7 @@
       jbyte *nbuf;
       jbyteArray jbuf;
       int jlen;
  -    jboolean iscommit=0;
  +    jboolean iscopy=0;
       JNIEnv *jniEnv;
       jk_channel_jni_private_t *jniCh=_this->_privatePtr;
       jk_ch_jni_ep_private_t *epData=
  @@ -369,8 +369,15 @@
        *  write method. XXX We could try 'pining' if the vm supports
        *  it, this is a looong lived object.
        */
  -    nbuf = (*jniEnv)->GetByteArrayElements(jniEnv, jbuf, &iscommit);
  -
  +#ifdef JK_JNI_CRITICAL
  +    nbuf = (*jniEnv)->GetPrimitiveArrayCritical(jniEnv, jbuf, &iscopy);
  +#else
  +    nbuf = (*jniEnv)->GetByteArrayElements(jniEnv, jbuf, &iscopy);
  +#endif
  +    if( iscopy )
  +        env->l->jkLog(env, env->l, JK_LOG_INFO,
  +                      "channelJni.send() get java bytes iscopy %d\n", iscopy);
  +    
       if(nbuf==NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR,
                         "channelJni.send() Can't get java bytes");
  @@ -384,8 +391,11 @@
   
       memcpy( nbuf, b, len );
   
  +#ifdef JK_JNI_CRITICAL
  +    (*jniEnv)->ReleasePrimitiveArrayCritical(jniEnv, jbuf, nbuf, 0);
  +#else
       (*jniEnv)->ReleaseByteArrayElements(jniEnv, jbuf, nbuf, 0);
  -    
  +#endif    
       if( _this->mbean->debug > 0 )
           env->l->jkLog(env, env->l, JK_LOG_INFO,
                         "channel_jni.send() before send %p\n",
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to