2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-09-03 07:45:17 +00:00

zdtm: It's need to sleep between clock_gettime() in uptime_grow

Kernel can't suspend container by design if calls clock_gettime()
in a loop, so we need to sleep between clock_gettime().

Signed-off-by: Victor Konyashkin  <vkonyashkin@parallels.com>
Acked-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
vkonyashkin
2012-07-31 14:05:43 +04:00
committed by Pavel Emelyanov
parent 4ee52f3403
commit 47d200c637

View File

@@ -13,8 +13,11 @@ const char *test_author = "Evgeny Antysev <eantyshev@parallels.com>";
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
struct timespec tm_old, tm; struct timespec tm_old, tm, ts;
double diff_nsec; double diff_nsec;
ts.tv_sec = 0;
ts.tv_nsec = 1000000;
test_init(argc, argv); test_init(argc, argv);
if (clock_gettime(CLOCK_MONOTONIC, &tm_old)) { if (clock_gettime(CLOCK_MONOTONIC, &tm_old)) {
@@ -36,6 +39,12 @@ int main(int argc, char **argv)
exit(1); exit(1);
} }
tm_old = tm; tm_old = tm;
/*
Kernel can't suspend container by design if calls
clock_gettime() in a loop, so we need to sleep
between clock_gettime().
*/
nanosleep(&ts, NULL);
} }
pass(); pass();
return 0; return 0;