aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Markgraf <steve@steve-m.de>2018-06-17 02:38:15 +0200
committerSteve Markgraf <steve@steve-m.de>2018-06-17 02:38:15 +0200
commit7ae9754ede8806df16977be28a4811fcf5eacdd0 (patch)
treee46fe8ba8be74dd01ee29dfd15b05232660b08e4
parentb745896cbe4ea6619244a7034cbe7c617a91f75f (diff)
downloadosmo-fl2k-7ae9754ede8806df16977be28a4811fcf5eacdd0.tar.gz
osmo-fl2k-7ae9754ede8806df16977be28a4811fcf5eacdd0.tar.bz2
osmo-fl2k-7ae9754ede8806df16977be28a4811fcf5eacdd0.zip
fix sleep durations on Windows
Signed-off-by: Steve Markgraf <steve@steve-m.de>
-rw-r--r--src/fl2k_file.c11
-rw-r--r--src/fl2k_tcp.c18
-rw-r--r--src/fl2k_test.c14
-rw-r--r--src/libosmo-fl2k.c20
4 files changed, 24 insertions, 39 deletions
diff --git a/src/fl2k_file.c b/src/fl2k_file.c
index 05db28e..cff5178 100644
--- a/src/fl2k_file.c
+++ b/src/fl2k_file.c
@@ -28,11 +28,13 @@
#ifndef _WIN32
#include <unistd.h>
+#define sleep_ms(ms) usleep(ms*1000)
#else
#include <windows.h>
#include <io.h>
#include <fcntl.h>
#include "getopt/getopt.h"
+#define sleep_ms(ms) Sleep(ms)
#endif
#include "osmo-fl2k.h"
@@ -191,13 +193,8 @@ int main(int argc, char **argv)
SetConsoleCtrlHandler( (PHANDLER_ROUTINE) sighandler, TRUE );
#endif
- while (!do_exit) {
-#ifndef _WIN32
- usleep(500000);
-#else
- Sleep(0.5);
-#endif
- }
+ while (!do_exit)
+ sleep_ms(500);
fl2k_close(dev);
diff --git a/src/fl2k_tcp.c b/src/fl2k_tcp.c
index ad0aa18..bd01758 100644
--- a/src/fl2k_tcp.c
+++ b/src/fl2k_tcp.c
@@ -36,9 +36,12 @@
#include <netinet/in.h>
#include <netinet/tcp.h> /* for TCP_NODELAY */
#include <fcntl.h>
+#define sleep_ms(ms) usleep(ms*1000)
#else
+#include <windows.h>
#include <winsock2.h>
#include "getopt/getopt.h"
+#define sleep_ms(ms) Sleep(ms)
#endif
#include "osmo-fl2k.h"
@@ -217,11 +220,7 @@ int main(int argc, char **argv)
fprintf(stderr, "Connecting to %s:%d...\n", addr, port);
while (connect(sock, (struct sockaddr *)&remote, sizeof(remote)) != 0) {
-#ifndef _WIN32
- usleep(500000);
-#else
- Sleep(0.5);
-#endif
+ sleep_ms(500);
if (do_exit)
goto out;
}
@@ -230,13 +229,8 @@ int main(int argc, char **argv)
fprintf(stderr, "Connected\n");
connected = 1;
- while (!do_exit) {
-#ifndef _WIN32
- usleep(500000);
-#else
- Sleep(0.5);
-#endif
- }
+ while (!do_exit)
+ sleep_ms(500);
out:
free(txbuf);
diff --git a/src/fl2k_test.c b/src/fl2k_test.c
index c9a6048..6d82922 100644
--- a/src/fl2k_test.c
+++ b/src/fl2k_test.c
@@ -41,9 +41,11 @@
#ifndef _WIN32
#include <unistd.h>
+#define sleep_ms(ms) usleep(ms*1000)
#else
#include <windows.h>
#include "getopt/getopt.h"
+#define sleep_ms(ms) Sleep(ms)
#endif
#include "osmo-fl2k.h"
@@ -290,17 +292,11 @@ int main(int argc, char **argv)
fprintf(stderr, "Reporting PPM error measurement every %u seconds...\n", ppm_duration);
fprintf(stderr, "Press ^C after a few minutes.\n");
- while (!do_exit) {
-#ifndef _WIN32
- usleep(500000);
-#else
- Sleep(0.5);
-#endif
- }
+ while (!do_exit)
+ sleep_ms(500);
- if (do_exit) {
+ if (do_exit)
fprintf(stderr, "\nUser cancel, exiting...\n");
- }
exit:
fl2k_close(dev);
diff --git a/src/libosmo-fl2k.c b/src/libosmo-fl2k.c
index 9116aff..34b854e 100644
--- a/src/libosmo-fl2k.c
+++ b/src/libosmo-fl2k.c
@@ -25,15 +25,18 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
+#include <math.h>
+#include <libusb.h>
+#include <pthread.h>
#ifndef _WIN32
#include <unistd.h>
+#define sleep_ms(ms) usleep(ms*1000)
+#else
+#include <windows.h>
+#define sleep_ms(ms) Sleep(ms)
#endif
-#include <math.h>
-#include <libusb.h>
-#include <pthread.h>
-
/*
* All libusb callback functions should be marked with the LIBUSB_CALL macro
* to ensure that they are compiled with the same calling convention as libusb.
@@ -476,13 +479,8 @@ int fl2k_close(fl2k_dev_t *dev)
if(!dev->dev_lost) {
/* block until all async operations have been completed (if any) */
- while (FL2K_INACTIVE != dev->async_status) {
-#ifdef _WIN32
- Sleep(1);
-#else
- usleep(1000);
-#endif
- }
+ while (FL2K_INACTIVE != dev->async_status)
+ sleep_ms(100);
fl2k_deinit_device(dev);
}