-
/* ====================================================================
* The Apache Software License, Version 1.1
*
#include "apr_thread_proc.h"
#include "apr_portable.h"
-/* The optimized timeouts only work if we're not using a scoreboard file */
-#if !APR_FILE_BASED_SHM
-#define OPTIMIZE_TIMEOUTS
-#endif
-
/* Scoreboard info on a process is, for now, kept very brief ---
* just status value and pid (the latter so that the caretaker process
* can properly update the scoreboard when a process dies). We may want
/* stuff which is thread/process specific */
typedef struct {
-#ifdef OPTIMIZE_TIMEOUTS
- vtime_t cur_vtime; /* the child's current vtime */
- unsigned short timeout_len; /* length of the timeout */
-#endif
int thread_num;
#if APR_HAS_THREADS
apr_os_thread_t tid;
#ifdef HAVE_TIMES
struct tms times;
#endif
-#ifndef OPTIMIZE_TIMEOUTS
time_t last_used;
-#endif
char client[32]; /* Keep 'em small... */
char request[64]; /* We just want an idea... */
server_rec *vhostrec; /* What virtual host is being accessed? */
pid_t pid;
ap_generation_t generation; /* generation of this child */
int worker_threads;
-#ifdef OPTIMIZE_TIMEOUTS
- time_t last_rtime; /* time(0) of the last change */
- vtime_t last_vtime; /* the last vtime the parent has seen */
-#endif
} parent_score;
typedef struct {
vhost = NULL;
}
-
#if defined(NO_GETTIMEOFDAY)
#ifdef HAVE_TIMES
if (score_record.start_time == (clock_t) 0)
score_record.times.tms_cutime / tick,
score_record.times.tms_cstime / tick,
#endif
-#ifdef OPTIMIZE_TIMEOUTS
- difftime(nowtime, ps_record.last_rtime),
-#else
difftime(nowtime, score_record.last_used),
-#endif
(long) req_time);
format_byte_out(r, conn_bytes);
ap_rputs("|", r);
score_record.times.tms_cutime +
score_record.times.tms_cstime) / tick,
#endif
-#ifdef OPTIMIZE_TIMEOUTS
- difftime(nowtime, ps_record.last_rtime),
-#else
difftime(nowtime, score_record.last_used),
-#endif
(long) req_time);
ap_rprintf(r, "<td>%-1.1f<td>%-2.2f<td>%-2.2f\n",
(float) conn_bytes / KBYTE, (float) my_bytes / MBYTE,