summaryrefslogtreecommitdiff
path: root/tests/utils.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-16 11:38:56 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-16 11:48:26 +0100
commitdb354c28812170d74f745ef0797e6dfbfaf27a3b (patch)
tree12fbce2f53e628a4c1f2df5005d64fae21953f67 /tests/utils.c
parent4d4eb881fdde41d9052ac86c9c2a6f8d7bf759c8 (diff)
downloadgnutls-db354c28812170d74f745ef0797e6dfbfaf27a3b.tar.gz
tests: use nanosleep for sleeping
Diffstat (limited to 'tests/utils.c')
-rw-r--r--tests/utils.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/utils.c b/tests/utils.c
index 516cc9d60a..e785fb5424 100644
--- a/tests/utils.c
+++ b/tests/utils.c
@@ -27,6 +27,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
+#include <time.h>
+#include <unistd.h>
+#include <errno.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
@@ -57,6 +60,26 @@ void fail(const char *format, ...)
exit(1);
}
+void sec_sleep(int sec)
+{
+ int ret;
+#ifdef HAVE_NANOSLEEP
+ struct timespec ts;
+
+ ts.tv_sec = sec;
+ ts.tv_nsec = 0;
+ do {
+ ret = nanosleep(&ts, NULL);
+ } while (ret == -1 && errno == EINTR);
+ if (ret == -1)
+ abort();
+#else
+ do {
+ ret = sleep(sec);
+ } while (ret == -1 && errno == EINTR);
+#endif
+}
+
void success(const char *format, ...)
{
char str[1024];