ngx_msec_t is 32bit on ARM
teknopaul
nginx-forum at forum.nginx.org
Sun Nov 26 00:44:54 UTC 2017
I'm trying to compile nginx on for a raspberry pi
src/core/ngx_times.c
time_t sec;
ngx_uint_t msec;
struct timeval tv;
ngx_gettimeofday(&tv);
sec = tv.tv_sec;
msec = tv.tv_usec / 1000;
ngx_current_msec = (ngx_msec_t) sec * 1000 + msec;
ngx_current_msec is defined as a ngx_msec_t which in turn is ngx_uint_t. In
an rpi is not big enough to hold Unix epoc in millis. (sec * 1000)
nginx code does compile, but my tests fail: they have hardcoded values for
the epoc.
Is this deliberate? I guess its cropping the high order bits? So millis
comparisons might work but timestamps generated from this value might not?
Posted at Nginx Forum: https://forum.nginx.org/read.php?2,277514,277514#msg-277514
More information about the nginx
mailing list