+ while ((next = agg->start_time + agg_interval * INT64CONST(1000000)) <= now) I can find the similar code to convert "seconds" to "us" using casting like end_time = threads[0].create_time + (int64) 1000000 * duration; or next_report = last_report + (int64) 1000000 * progress; Is there a reason use INT64CONST instead of (int64)? Do these imply the same effect?
I guess that the macros does 1000000LL or something similar to directly create an int64 constant. It is necessary if the constant would overflow a usual 32 bits C integer, whereas the cast is sufficient if there is no overflow. Maybe I c/should have used the previous approach.
Sorry, if this is a dumb question...
Nope. -- Fabien.