struct timeval
representa e instantáneamente en el tiempo con dos miembros, tv_sec
(segundos) y tv_usec
(microsegundos). En esta representación, tv_usec
no es en sí mismo un tiempo absoluto, es una desviación secundaria de tv_sec
.¿Existe una forma estándar de convertir una struct timeval en struct struct timespec?
struct timespec
funciona de la misma manera, excepto que en lugar de microsegundos su desplazamiento (tv_nsec
) se almacena en unidades de nanosegundos.
La pregunta es: ¿Existe una forma estándar de conversión entre estos dos?
Desde tv_nsec es un sub segundo desplazamiento, qué si la multiplicación por 1000 resultados en un valor superior a 1 mil millones ... ¿No sería necesario agregar 1 a tv_sec y luego establecer tv_nsec a la cantidad de más de mil millones? – dicroce
No, porque 'tv_usec', que es un desplazamiento en microsegundos, garantiza que será menor que 1 millón, por lo que multiplicarlo por 1000 da un valor inferior a 1 mil millones. – JaakkoK
Y si quiere pasar de una especificación de tiempo a una timeval, dividiría 'tv_nsec' por 1000 para obtener' tv_usec' (posiblemente agregando 500 primero, para redondear). –