comparison src/http/ngx_http_upstream.c @ 888:bb6e1bbcdd67

fix msec overflow
author Igor Sysoev <igor@sysoev.ru>
date Tue, 05 Dec 2006 20:30:05 +0000
parents 4d68c486fcb0
children a9a7e4b1a72b
comparison
equal deleted inserted replaced
887:d233308a70a3 888:bb6e1bbcdd67
500 500
501 r->connection->single_connection = 0; 501 r->connection->single_connection = 0;
502 502
503 if (u->state && u->state->response_time) { 503 if (u->state && u->state->response_time) {
504 tp = ngx_timeofday(); 504 tp = ngx_timeofday();
505 ms = tp->sec * 1000 + tp->msec - u->state->response_time; 505 ms = (ngx_msec_t) tp->sec * 1000 + tp->msec - u->state->response_time;
506 u->state->response_time = (ms >= 0) ? ms : 0; 506 u->state->response_time = (ms >= 0) ? ms : 0;
507 } 507 }
508 508
509 u->state = ngx_array_push(&u->states); 509 u->state = ngx_array_push(&u->states);
510 if (u->state == NULL) { 510 if (u->state == NULL) {
514 } 514 }
515 515
516 ngx_memzero(u->state, sizeof(ngx_http_upstream_state_t)); 516 ngx_memzero(u->state, sizeof(ngx_http_upstream_state_t));
517 517
518 tp = ngx_timeofday(); 518 tp = ngx_timeofday();
519 u->state->response_time = tp->sec * 1000 + tp->msec; 519 u->state->response_time = (ngx_msec_t) tp->sec * 1000 + tp->msec;
520 520
521 rc = ngx_event_connect_peer(&u->peer); 521 rc = ngx_event_connect_peer(&u->peer);
522 522
523 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, 523 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
524 "http upstream connect: %i", rc); 524 "http upstream connect: %i", rc);
2051 2051
2052 *u->cleanup = NULL; 2052 *u->cleanup = NULL;
2053 2053
2054 if (u->state->response_time) { 2054 if (u->state->response_time) {
2055 tp = ngx_timeofday(); 2055 tp = ngx_timeofday();
2056 ms = tp->sec * 1000 + tp->msec - u->state->response_time; 2056 ms = (ngx_msec_t) tp->sec * 1000 + tp->msec - u->state->response_time;
2057 u->state->response_time = (ms >= 0) ? ms : 0; 2057 u->state->response_time = (ms >= 0) ? ms : 0;
2058 } 2058 }
2059 2059
2060 u->finalize_request(r, rc); 2060 u->finalize_request(r, rc);
2061 2061