• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

278
Views
cómo usar settimeofday (2)?

¿Qué estoy haciendo mal aquí? Espero que settimeofday() cambie la hora del sistema, no devuelva EINVAL .

 $ uname -a Linux io 4.3.5-300.fc23.x86_64 #1 SMP Mon Feb 1 03:18:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ cat settimeofday.c #include <sys/time.h> #include <stdio.h> int main() { struct timeval tv = {0, 0}; if (settimeofday(&tv, 0) == -1) perror("settimeofday"); } $ gcc settimeofday.c $ sudo ./a.out settimeofday: Invalid argument

El error proviene de un Thinkpad T450 que ejecuta Fedora 23. El mismo código funciona bien en OS X.

EDITAR

Para aclarar, el comando se ejecuta como root:

 # whoami root # sudo ./a.out settimeofday: Invalid argument

Como era de esperar, obtengo EPERM no EINVAL si ejecuto el programa como un usuario normal:

 $ ./a.out settimeofday: Operation not permitted
about 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Commit e1d7ba se introdujo en el kernel de Linux a mediados de 2015 y restringe el valor del campo tv_sec. La restricción está influenciada por el tiempo de actividad del sistema; consulte el mensaje de confirmación y la discusión de LKML relacionada para obtener más detalles.

Eso es lo que estaba causando que la llamada settimeofday devolviera EINVAL y explica por qué el código se ejecuta en OS X y máquinas Linux más antiguas.

about 3 years ago · Santiago Trujillo Report

0

Como se muestra en la página de manual de settimeofday().

Si tv o tz es NULL, la estructura correspondiente no se establece ni se devuelve.

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error