costin      02/04/18 15:47:18

  Modified:    jk/native2/common jk_shm.c
  Log:
  Fix few silly errors.
  
  Now jk scoreboard is loaded ok from apache side.
  
  Revision  Changes    Path
  1.5       +39 -6     jakarta-tomcat-connectors/jk/native2/common/jk_shm.c
  
  Index: jk_shm.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_shm.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- jk_shm.c  17 Apr 2002 22:52:14 -0000      1.4
  +++ jk_shm.c  18 Apr 2002 22:47:18 -0000      1.5
  @@ -154,7 +154,7 @@
   /* Create or reinit an existing scoreboard. The MPM can control whether
    * the scoreboard is shared across multiple processes or not
    */
  -static int jk2_shm_create(jk_env_t *env, jk_shm_t *shm)
  +int jk2_shm_create(jk_env_t *env, jk_shm_t *shm)
   {
       apr_status_t rv;
       jk_shm_private_t *shmP=shm->privateData;
  @@ -163,15 +163,42 @@
       if ( shm->fname == NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
                         "No name for jk_shm\n");
  -        return JK_FALSE;
  +        return JK_ERR;
       }
       
  +    rv=apr_shm_attach(&shmP->aprShm, shm->fname, globalShmPool );
  +    if( rv ) {
  +        char error[256];
  +        apr_strerror( rv, error, 256 );
  +        
  +        env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  +                      "shm.create(): error attaching shm, will create %s %d %p 
%s\n",
  +                      shm->fname, rv, globalShmPool, error );
  +        shmP->aprShm=NULL;
  +    } else {
  +        return JK_OK;
  +    }
  +
       /* make sure it's an absolute pathname */
       /*  fname = ap_server_root_relative(pconf, ap_scoreboard_fname); */
   
       /* The shared memory file must not exist before we create the
        * segment. */
  -    apr_file_remove(shm->fname, globalShmPool ); /* ignore errors */
  +    rv = apr_file_remove(shm->fname, globalShmPool ); /* ignore errors */
  +    if (rv) {
  +        char error[256];
  +        apr_strerror( rv, error, 256 );
  +        
  +        env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  +                      "shm.create(): error removing shm %s %d %s\n",
  +                      shm->fname, rv, error );
  +        shmP->aprShm=NULL;
  +        return rv;
  +    } else {
  +        env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  +                      "shm.create(): file removed ok\n");
  +    }
  +
   
       rv = apr_shm_create(&shmP->aprShm, shmP->size, shm->fname, globalShmPool);
       
  @@ -180,7 +207,8 @@
           apr_strerror( rv, error, 256 );
           
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  -                      "shm.create(): error creating named scoreboard %s %d %s\n",
  +                      "shm.create(): error creating shm %d %s %d %s\n",
  +                      shmP->size, 
                         shm->fname, rv, error );
           shmP->aprShm=NULL;
           return rv;
  @@ -225,14 +253,14 @@
           char error[256];
           apr_strerror( rv, error, 256 );
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  -                      "Unable to attach to %s %d %s\n", shm->fname, rv, error);
  +                      "Unable to attach  %s %d %s\n", shm->fname, rv, error);
       }
   
       rv=jk2_shm_create( env, shm );
       
       if( rv || shmP->aprShm==NULL ) {
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
  -                      "Unable to create to %s %d\n", shm->fname, rv);
  +                      "Unable to create %s %d\n", shm->fname, rv);
           return JK_FALSE;
       }
   
  @@ -246,6 +274,11 @@
       }
       
       memset(shmP->image, 0, shmP->size);
  +    strcpy(shmP->image, "Hello From Apache");
  +
  +    env->l->jkLog(env, env->l, JK_LOG_INFO, 
  +                  "shm.init() Initalized %s %p\n",
  +                      shm->fname, shmP->image);
   
       return JK_TRUE;
   }
  
  
  

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

Reply via email to