Solución:
Medio segundo son 500.000.000 nanosegundos, por lo que su código debería leer:
tim.tv_sec = 0;
tim.tv_nsec = 500000000L;
Tal como están las cosas, su código está inactivo durante 1.0000005s (1s + 500ns).
tv_nsec
es el tiempo de reposo en nanosegundos. 500000us = 500000000ns, entonces quieres:
nanosleep((const struct timespec[]){{0, 500000000L}}, NULL);
500000 microsegundos son 500000000 nanosegundos. Solo espera 500 ns = 0,5 µs.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)