diff options
author | David Young <dyoung@hdfgroup.org> | 2020-08-18 22:42:35 (GMT) |
---|---|---|
committer | David Young <dyoung@hdfgroup.org> | 2020-08-18 22:42:35 (GMT) |
commit | 38310e91760795632252aecddc294139fc00c449 (patch) | |
tree | 02c6992e0195c69cc2358ff89551e1dc0cedfe20 | |
parent | a06d6f235d5ec0956e8418f0fd5e9fe7cff0c47b (diff) | |
download | hdf5-38310e91760795632252aecddc294139fc00c449.zip hdf5-38310e91760795632252aecddc294139fc00c449.tar.gz hdf5-38310e91760795632252aecddc294139fc00c449.tar.bz2 |
Sleep 1/10s between H5Dopen() tries. Make a couple of warning/error messages
more clear/correct.
-rw-r--r-- | test/vfd_swmr_bigset_writer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/test/vfd_swmr_bigset_writer.c b/test/vfd_swmr_bigset_writer.c index 701c6bc..2da7566 100644 --- a/test/vfd_swmr_bigset_writer.c +++ b/test/vfd_swmr_bigset_writer.c @@ -683,6 +683,8 @@ open_extensible_dset(state_t *s, unsigned int which) es = disable_estack(); for (i = 0; i < tries; i++) { + struct timespec one_tenth = {.tv_sec = 0, + .tv_nsec = 1000000000L / 10}; ds = H5Dopen(s->file[0], dname, s->dapl); @@ -690,15 +692,17 @@ open_extensible_dset(state_t *s, unsigned int which) break; if (below_speed_limit(&last, &ival)) { - warnx("H5Dopen(, \"%s\", ) failed, %d retries remain", + warnx("H5Dopen(, \"%s\", ) transient failure, %d retries remain", dname, tries - i - 1); } + while (nanosleep(&one_tenth, &one_tenth) == -1 && errno == EINTR) + ; // do nothing } restore_estack(es); if (i == tries) { errx(EXIT_FAILURE, "H5Dopen(, \"%s\", ) failed after %d tries", - dname, tries - i - 1); + dname, tries); } if ((ty = H5Dget_type(ds)) < 0) |