diff options
-rwxr-xr-x | test/misc/tst-msgctl.c | 17 | ||||
-rw-r--r-- | test/misc/tst-semctl.c | 13 | ||||
-rw-r--r-- | test/misc/tst-shmctl.c | 14 |
3 files changed, 42 insertions, 2 deletions
diff --git a/test/misc/tst-msgctl.c b/test/misc/tst-msgctl.c index d11380b..ac6ae34 100755 --- a/test/misc/tst-msgctl.c +++ b/test/misc/tst-msgctl.c @@ -34,9 +34,17 @@ void print_msqid_ds(struct msqid_ds *buf) { int main() { + struct timespec ts_init, ts_final; + + // Save system time + if (clock_gettime(CLOCK_REALTIME, &ts_init) == -1) { + perror("Error getting time"); + return 1; + } + if (clock_settime(CLOCK_REALTIME, &ts) == -1) { // Set the time to after 2038 - perror("Error setting time"); - return 1; + perror("Error setting time"); + return 1; } key_t key = ftok(".", 123); @@ -109,5 +117,10 @@ int main() { msgctl(msqid, IPC_RMID, NULL); + // Restore system time + clock_gettime(CLOCK_REALTIME, &ts_final); + ts_init.tv_sec = ts_init.tv_sec + ts_final.tv_sec - ts.tv_sec; + clock_settime(CLOCK_REALTIME, &ts_init); + return 0; } diff --git a/test/misc/tst-semctl.c b/test/misc/tst-semctl.c index a4d69e2..99647d1 100644 --- a/test/misc/tst-semctl.c +++ b/test/misc/tst-semctl.c @@ -32,6 +32,14 @@ int main() { int semid; union semun arg; struct semid_ds ds; + struct timespec ts_init, ts_final; + + // Save system time + if (clock_gettime(CLOCK_REALTIME, &ts_init) == -1) { + perror("Error getting time"); + return 1; + } + if (clock_settime(CLOCK_REALTIME, &ts) == -1) { // Set the time to after 2038 perror("Error setting time"); @@ -80,5 +88,10 @@ int main() { exit(1); } + // Restore system time + clock_gettime(CLOCK_REALTIME, &ts_final); + ts_init.tv_sec = ts_init.tv_sec + ts_final.tv_sec - ts.tv_sec; + clock_settime(CLOCK_REALTIME, &ts_init); + return 0; } diff --git a/test/misc/tst-shmctl.c b/test/misc/tst-shmctl.c index ca51377..36dda83 100644 --- a/test/misc/tst-shmctl.c +++ b/test/misc/tst-shmctl.c @@ -27,6 +27,14 @@ void print_shmid_ds(struct shmid_ds *buf) { int main() { + struct timespec ts_init, ts_final; + + // Save system time + if (clock_gettime(CLOCK_REALTIME, &ts_init) == -1) { + perror("Error getting time"); + return 1; + } + if (clock_settime(CLOCK_REALTIME, &ts) == -1) { // Set the time to after 2038 perror("Error setting time"); return 1; @@ -66,5 +74,11 @@ int main() { print_shmid_ds(&buf); shmctl(shmid, IPC_RMID, NULL); + + // Restore system time + clock_gettime(CLOCK_REALTIME, &ts_final); + ts_init.tv_sec = ts_init.tv_sec + ts_final.tv_sec - ts.tv_sec; + clock_settime(CLOCK_REALTIME, &ts_init); + return 0; } |