LCOV - code coverage report
Current view: top level - home/agentz/git/echo-nginx-module/src - ngx_http_echo_timer.c (source / functions) Hit Total Coverage
Test: foo.info Lines: 0 23 0.0 %
Date: 2011-05-12 Functions: 0 2 0.0 %
Branches: 0 2 0.0 %

           Branch data     Line data    Source code
       1                 :            : #define DDEBUG 0
       2                 :            : 
       3                 :            : #include "ddebug.h"
       4                 :            : 
       5                 :            : #include "ngx_http_echo_timer.h"
       6                 :            : 
       7                 :            : #include <stdlib.h>
       8                 :            : #include <ngx_log.h>
       9                 :            : 
      10                 :            : ngx_int_t
      11                 :          0 : ngx_http_echo_timer_elapsed_variable(ngx_http_request_t *r,
      12                 :            :         ngx_http_variable_value_t *v, uintptr_t data)
      13                 :            : {
      14                 :            :     ngx_http_echo_ctx_t     *ctx;
      15                 :            :     ngx_msec_int_t          ms;
      16                 :            :     u_char                  *p;
      17                 :            :     ngx_time_t              *tp;
      18                 :            :     size_t                  size;
      19                 :            : 
      20                 :          0 :     ctx = ngx_http_get_module_ctx(r, ngx_http_echo_module);
      21         [ #  # ]:          0 :     if (ctx->timer_begin.sec == 0) {
      22                 :          0 :         ctx->timer_begin.sec  = r->start_sec;
      23                 :          0 :         ctx->timer_begin.msec = (ngx_msec_t) r->start_msec;
      24                 :            :     }
      25                 :            : 
      26                 :            :     /* force the ngx timer to update */
      27                 :            : 
      28                 :            : #if defined nginx_version && (nginx_version >= 8035 \
      29                 :            :         || (nginx_version < 8000 && nginx_version >= 7066))
      30                 :          0 :     ngx_time_update();
      31                 :            : #else
      32                 :            :     ngx_time_update(0, 0);
      33                 :            : #endif
      34                 :            : 
      35                 :          0 :     tp = ngx_timeofday();
      36                 :            : 
      37                 :            :     dd("old sec msec: %ld %d\n", ctx->timer_begin.sec, ctx->timer_begin.msec);
      38                 :            :     dd("new sec msec: %ld %d\n", tp->sec, tp->msec);
      39                 :            : 
      40                 :          0 :     ms = (ngx_msec_int_t)
      41                 :          0 :              ((tp->sec - ctx->timer_begin.sec) * 1000 +
      42                 :          0 :               (tp->msec - ctx->timer_begin.msec));
      43                 :          0 :     ms = (ms >= 0) ? ms : 0;
      44                 :            : 
      45                 :          0 :     size = sizeof("-9223372036854775808.000") - 1;
      46                 :          0 :     p = ngx_palloc(r->pool, size);
      47                 :          0 :     v->len = ngx_snprintf(p, size, "%T.%03M",
      48                 :            :              ms / 1000, ms % 1000) - p;
      49                 :          0 :     v->data = p;
      50                 :            : 
      51                 :          0 :     v->valid = 1;
      52                 :          0 :     v->no_cacheable = 1;
      53                 :          0 :     v->not_found = 0;
      54                 :          0 :     return NGX_OK;
      55                 :            : }
      56                 :            : 
      57                 :            : 
      58                 :            : ngx_int_t
      59                 :          0 : ngx_http_echo_exec_echo_reset_timer(ngx_http_request_t *r,
      60                 :            :         ngx_http_echo_ctx_t *ctx)
      61                 :            : {
      62                 :            :     dd("Exec timer...");
      63                 :            : 
      64                 :            :     /* force the ngx timer to update */
      65                 :            : 
      66                 :            : #if defined nginx_version && (nginx_version >= 8035 \
      67                 :            :         || (nginx_version < 8000 && nginx_version >= 7066))
      68                 :          0 :     ngx_time_update();
      69                 :            : #else
      70                 :            :     ngx_time_update(0, 0);
      71                 :            : #endif
      72                 :            : 
      73                 :          0 :     ctx->timer_begin = *ngx_timeofday();
      74                 :          0 :     return NGX_OK;
      75                 :            : }
      76                 :            : 

Generated by: LCOV version 1.9