costin      2002/06/10 17:01:16

  Modified:    jk/native2/jni jk_jni_aprImpl.c
  Log:
  Fix the POST in in-process mode.
  
  The 'response' from a jni invocation is in the same buffer, but we must
  call msg->end() to update the message size.
  
  The dispatch mechanism is no longer used ( or it shouldn't ), I'll do a grep and
  clean the code. ( invoke is much cleaner ).
  
  Revision  Changes    Path
  1.35      +13 -6     jakarta-tomcat-connectors/jk/native2/jni/jk_jni_aprImpl.c
  
  Index: jk_jni_aprImpl.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/jni/jk_jni_aprImpl.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- jk_jni_aprImpl.c  10 Jun 2002 21:49:53 -0000      1.34
  +++ jk_jni_aprImpl.c  11 Jun 2002 00:01:16 -0000      1.35
  @@ -603,8 +603,10 @@
                         "jkInvoke() invoke %#lx \n", bean->invoke );
           rc=bean->invoke( env, bean, ep, code, ep->reply, raw );
       } else {
  -        /* Backward compat for AJP13 messages, where the code is used to
  +        /* NOT USED. Backward compat for AJP13 messages, where the code is used to
            locate a handler. Deprecated, use the invoke() method  ! */
  +        env->l->jkLog(env, env->l, JK_LOG_INFO,
  +                      "jkInvoke() component dispatch2 %d %d %#lx\n", rc, code, 
bean->invoke);
           rc=workerEnv->dispatch( env, workerEnv, target, ep, code, ep->reply ); 
       }
   
  @@ -612,6 +614,10 @@
   
       if( arrayAccessMethod == JK_GET_BYTE_ARRAY_ELEMENTS ) {
           if( rc == JK_INVOKE_WITH_RESPONSE ) {
  +            /* env->l->jkLog(env, env->l, JK_LOG_INFO, */
  +            /*               "jkInvoke() release byte array elements %d %d %#lx\n", 
*/
  +            /*                ep->reply->pos, ep->reply->len , ep->reply->buf ); */
  +            ep->reply->end( env, ep->reply );
               (*jniEnv)->ReleaseByteArrayElements(jniEnv, data, nbuf, JNI_ABORT );
               rc=JK_OK;
           } else {
  @@ -620,9 +626,12 @@
           ep->reply->buf=oldBuf;
       } else if ( arrayAccessMethod == JK_GET_REGION ) {
           if( rc == JK_INVOKE_WITH_RESPONSE ) {
  -            /*   env->l->jkLog(env, env->l, JK_LOG_INFO, */
  -            /*                "jkInvoke() release %d %d %#lx\n", */
  -            /*                ep->reply->pos, ep->reply->len , ep->reply->buf ); */
  +
  +            /*env->l->jkLog(env, env->l, JK_LOG_INFO, */
  +            /*              "jkInvoke() release %d %d %#lx\n", */
  +            /*              ep->reply->pos, ep->reply->len , ep->reply->buf ); */
  +            ep->reply->end( env, ep->reply );
  +
               (*jniEnv)->SetByteArrayRegion( jniEnv, data, 0, ep->reply->len + 4 , 
(jbyte *)ep->reply->buf );
               rc=JK_OK;
           }
  @@ -636,8 +645,6 @@
               (*jniEnv)->ExceptionClear( jniEnv ) */
       }
       
  -    /*     env->l->jkLog(env, env->l, JK_LOG_INFO, "jkInvoke() done\n"); */
  -
       return rc;
   }
   
  
  
  

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

Reply via email to