[EMAIL PROTECTED] wrote:

On Tue, 13 Aug 2002, Brian Pane wrote:



[EMAIL PROTECTED] wrote:



I continue to state that APR's time format should stay as it is.  If you
want seconds, use time_t.  The only change that I can see as appropriate,
is to make the interval_time_t a 32-bit value, which would mean that any
arithmetic on the intervals would be faster.  Apache, doesn't want (or
need) microsecond resolution, so it should use time_t, which
co-incidentally is now very easy to translate into an apr_interval_time_t
very quickly.  Since most, if not all, of the apr_functions should be
using apr_interval_time_t for the arguments, converting types should be
minimal.



That almost works, except that APR forces client apps to use
apr_time_t. All the time formatting functions and file stat
related functions, for example, use apr_time_t rather than
time_t. These functions have no need for microsecond resolution,
but at the moment they force the app to use a microsecond based
time.



The time formatting features are for apr_time_t, and should require microseconds. If you want to use time formatting functions for seconds, then you have to use the ANSI standard functions. Essentially, using a time_t in an apr_time_t function just won't work, and it shouldn't work.


Agreed, apps should be using separate functions to format time_t than they use for apr_time_t.

To use time_t in a portable app, though, I expect that we'll still
need to rely on APR to provide a portability wrapper.  The code for
even simple things like getting the current time is different between
Unix and Win32.   (I wouldn't mind leaving apr_time_t as-is if we
also had a portable second-resolution time API to complement it.)

As for the file stat fields, just move those to time_t instead of
apr_time_t, and the problem goes away too.


I'm definitely in favor of changing those to time_t.

Brian




Reply via email to