Not all platforms have MSG_DONTWAIT
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/engines/net.c b/engines/net.c
index c0a793e..9e6e789 100644
--- a/engines/net.c
+++ b/engines/net.c
@@ -223,7 +223,10 @@
static int fio_netio_send(struct thread_data *td, struct io_u *io_u)
{
struct netio_data *nd = td->io_ops->data;
- int ret, flags = MSG_DONTWAIT;
+ int ret, flags = 0;
+#ifdef MSG_DONTWAIT
+ flags = MSG_DONTWAIT;
+#endif
do {
if (nd->net_protocol == IPPROTO_UDP) {
@@ -251,7 +254,9 @@
if (ret <= 0)
break;
+#ifdef MSG_DONTWAIT
flags &= ~MSG_DONTWAIT;
+#endif
} while (1);
return ret;
@@ -276,7 +281,10 @@
static int fio_netio_recv(struct thread_data *td, struct io_u *io_u)
{
struct netio_data *nd = td->io_ops->data;
- int ret, flags = MSG_DONTWAIT;
+ int ret, flags = 0;
+#ifdef MSG_DONTWAIT
+ flags = MSG_DONTWAIT;
+#endif
do {
if (nd->net_protocol == IPPROTO_UDP) {
@@ -299,7 +307,9 @@
ret = poll_wait(td, io_u->file->fd, POLLIN);
if (ret <= 0)
break;
+#ifdef MSG_DONTWAIT
flags &= ~MSG_DONTWAIT;
+#endif
flags |= MSG_WAITALL;
} while (1);