diff options
Diffstat (limited to 'test/misc/tst-msgctl.c')
| -rwxr-xr-x | test/misc/tst-msgctl.c | 17 | 
1 files changed, 15 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;  } | 
