src/http/ngx_http_file_cache.c:472: error: Integer Overflow L1
  (0 - 1):unsigned32.

src/http/ngx_http_file_cache.c:471:5: <LHS trace>
469. wakeup:
470. 
471.     c->waiting = 0;
         ^
472.     r->main->blocked--;
473.     r->connection->write->handler(r->connection->write);

src/http/ngx_http_file_cache.c:471:5: Assignment
469. wakeup:
470. 
471.     c->waiting = 0;
         ^
472.     r->main->blocked--;
473.     r->connection->write->handler(r->connection->write);

src/http/ngx_http_file_cache.c:472:5: Binary operation: (0 - 1):unsigned32
470. 
471.     c->waiting = 0;
472.     r->main->blocked--;
         ^
473.     r->connection->write->handler(r->connection->write);
474. }

static void
ngx_http_file_cache_lock_wait_handler(ngx_event_t *ev)
{
    ngx_uint_t                 wait;
    ngx_msec_t                 timer;
    ngx_http_cache_t          *c;
    ngx_http_request_t        *r;
    ngx_http_file_cache_t     *cache;
    r = ev->data;
    c = r->cache;
    ngx_log_debug2(NGX_LOG_DEBUG_HTTP, ev->log, 0,
                   "http file cache wait handler wt:%M cur:%M",
                   c->wait_time, ngx_current_msec);
    timer = c->wait_time - ngx_current_msec;
    if ((ngx_msec_int_t) timer <= 0) {
        ngx_log_debug0(NGX_LOG_DEBUG_HTTP, ev->log, 0,
                       "http file cache lock timeout");
        c->lock = 0;
        goto wakeup;
    }
    cache = c->file_cache;
    wait = 0;
    ngx_shmtx_lock(&cache->shpool->mutex);
    if (c->node->updating) {
        wait = 1;
    }
    ngx_shmtx_unlock(&cache->shpool->mutex);
    if (wait) {
        ngx_add_timer(ev, (timer > 500) ? 500 : timer);
        return;
    }
wakeup:
    c->waiting = 0;
    r->main->blocked--;
    r->connection->write->handler(r->connection->write);
}
['static void\nngx_http_file_cache_lock_wait_handler(ngx_event_t *ev)\n{\n    ngx_uint_t                 wait;\n    ngx_msec_t                 timer;\n    ngx_http_cache_t          *c;\n    ngx_http_request_t        *r;\n    ngx_http_file_cache_t     *cache;\n    r = ev->data;\n    c = r->cache;\n    ngx_log_debug2(NGX_LOG_DEBUG_HTTP, ev->log, 0,\n                   "http file cache wait handler wt:%M cur:%M",\n                   c->wait_time, ngx_current_msec);\n    timer = c->wait_time - ngx_current_msec;\n    if ((ngx_msec_int_t) timer <= 0) {\n        ngx_log_debug0(NGX_LOG_DEBUG_HTTP, ev->log, 0,\n                       "http file cache lock timeout");\n        c->lock = 0;\n        goto wakeup;\n    }\n    cache = c->file_cache;\n    wait = 0;\n    ngx_shmtx_lock(&cache->shpool->mutex);\n    if (c->node->updating) {\n        wait = 1;\n    }\n    ngx_shmtx_unlock(&cache->shpool->mutex);\n    if (wait) {\n        ngx_add_timer(ev, (timer > 500) ? 500 : timer);\n        return;\n    }\nwakeup:\n    c->waiting = 0;\n    r->main->blocked--;\n    r->connection->write->handler(r->connection->write);\n}']