From 7045295a8678ac6cdbb68401d4f6c7f1a9120a98 Mon Sep 17 00:00:00 2001 From: "Julian M. Kunkel" Date: Sat, 6 Oct 2018 17:30:00 +0100 Subject: [PATCH] Replaced usleep to nanosleep. --- src/aiori-DUMMY.c | 7 +++++-- src/ior.c | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/aiori-DUMMY.c b/src/aiori-DUMMY.c index 8cc0a57..cfd920b 100755 --- a/src/aiori-DUMMY.c +++ b/src/aiori-DUMMY.c @@ -9,6 +9,7 @@ #include #include #include +#include #include "ior.h" #include "aiori.h" @@ -48,7 +49,8 @@ static void *DUMMY_Create(char *testFileName, IOR_param_t * param) } if (o.delay_creates){ if (! o.delay_rank_0_only || (o.delay_rank_0_only && rank == 0)){ - usleep(o.delay_creates); + struct timespec wait = { o.delay_creates / 1000 / 1000, 1000l * (o.delay_creates % 1000000)}; + nanosleep( & wait, NULL); } } return current++; @@ -102,7 +104,8 @@ static IOR_offset_t DUMMY_Xfer(int access, void *file, IOR_size_t * buffer, IOR_ } if (o.delay_xfer){ if (! o.delay_rank_0_only || (o.delay_rank_0_only && rank == 0)){ - usleep(o.delay_xfer); + struct timespec wait = {o.delay_xfer / 1000 / 1000, 1000l * (o.delay_xfer % 1000000)}; + nanosleep( & wait, NULL); } } return length; diff --git a/src/ior.c b/src/ior.c index 048bc18..66cca76 100755 --- a/src/ior.c +++ b/src/ior.c @@ -1843,7 +1843,8 @@ static IOR_offset_t WriteOrReadSingle(IOR_offset_t pairCnt, IOR_offset_t *offset if (amtXferred != transfer) ERR("cannot write to file"); if (test->interIODelay > 0){ - usleep(test->interIODelay); + struct timespec wait = {test->interIODelay / 1000 / 1000, 1000l * (test->interIODelay % 1000000)}; + nanosleep( & wait, NULL); } } else if (access == READ) { amtXferred = @@ -1851,7 +1852,8 @@ static IOR_offset_t WriteOrReadSingle(IOR_offset_t pairCnt, IOR_offset_t *offset if (amtXferred != transfer) ERR("cannot read from file"); if (test->interIODelay > 0){ - usleep(test->interIODelay); + struct timespec wait = {test->interIODelay / 1000 / 1000, 1000l * (test->interIODelay % 1000000)}; + nanosleep( & wait, NULL); } } else if (access == WRITECHECK) { memset(checkBuffer, 'a', transfer);