pero        2005/03/12 22:35:57

  Modified:    jk/native/common jk_status.c
  Log:
  add textupdate mode to status worker
  for simpler handle remote JkStatusAntTasks
  
  Revision  Changes    Path
  1.27      +24 -16    jakarta-tomcat-connectors/jk/native/common/jk_status.c
  
  Index: jk_status.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- jk_status.c       22 Feb 2005 15:38:12 -0000      1.26
  +++ jk_status.c       13 Mar 2005 06:35:57 -0000      1.27
  @@ -43,6 +43,8 @@
   
   #define JK_STATUS_HEND "</body>\n</html>\n"
   
  +#define JK_STATUS_TEXTUPDATE_RESPONCE "OK - jk status worker updated\n"
  +
   typedef struct status_worker status_worker_t;
   
   struct status_endpoint
  @@ -619,6 +621,8 @@
           return 1;
       else if (!strncmp(req, "cmd=update", 10))
           return 2;
  +    else if (!strncmp(req, "cmd=textupdate", 14))
  +        return 3;
       else
           return 0;
   }
  @@ -638,21 +642,12 @@
           *is_recoverable_error = JK_FALSE;
   
           s->start_response(s, 200, "OK", headers_names, headers_vals, 3);
  -        s->write(s, JK_STATUS_HEAD, sizeof(JK_STATUS_HEAD) - 1);
  -
  -        jk_puts(s, "<h1>JK Status Manager for ");
  -        jk_puts(s, s->server_name);
  -        jk_puts(s, "</h1>\n\n");
  -        jk_putv(s, "<dl><dt>Server Version: ",
  -                s->server_software, "</dt>\n", NULL);
  -        jk_putv(s, "<dt>JK Version: ",
  -                JK_VERSTRING, "\n</dt></dl>\n", NULL);
   
           /* Step 1: Process GET params and update configuration */
           cmd = status_cmd_type(s->query_string);
           if (cmd > 0 && (status_cmd("w", s->query_string, buf, sizeof(buf)) 
!= NULL))
               worker = strdup(buf);
  -        if (cmd == 2 && worker) {
  +        if (((cmd == 2) || (cmd == 3)) && worker) {
               /* lock shared memory */
               jk_shm_lock();
               update_worker(s, p->s_worker, worker, l);
  @@ -665,11 +660,24 @@
               /* unlock the shared memory */
               jk_shm_unlock();
           }
  -        /* Step 2: Display configuration */
  -        display_workers(s, p->s_worker, worker, l);
  -
  -
  -        s->write(s, JK_STATUS_HEND, sizeof(JK_STATUS_HEND) - 1);
  +        if(cmd == 3) {
  +             s->write(s,  JK_STATUS_TEXTUPDATE_RESPONCE, 
sizeof(JK_STATUS_TEXTUPDATE_RESPONCE) - 1);
  +        } else {
  +             s->write(s,  JK_STATUS_HEAD, sizeof(JK_STATUS_HEAD) - 1);
  +     
  +             jk_puts(s, "<h1>JK Status Manager for ");
  +             jk_puts(s, s->server_name);
  +             jk_puts(s, "</h1>\n\n");
  +             jk_putv(s, "<dl><dt>Server Version: ",
  +                     s->server_software, "</dt>\n", NULL);
  +             jk_putv(s, "<dt>JK Version: ",
  +                     JK_VERSTRING, "\n</dt></dl>\n", NULL);
  +             /* Step 2: Display configuration */
  +             display_workers(s, p->s_worker, worker, l);
  +     
  +     
  +             s->write(s, JK_STATUS_HEND, sizeof(JK_STATUS_HEND) - 1);
  +        }
           if (worker)
               free(worker);
           JK_TRACE_EXIT(l);
  
  
  

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

Reply via email to