Not all platforms have MSG_DONTWAIT
authorCigy Cyriac <CCyriac@fusionio.com>
Tue, 10 Aug 2010 23:49:43 +0000 (19:49 -0400)
committerJens Axboe <jaxboe@fusionio.com>
Tue, 10 Aug 2010 23:49:43 +0000 (19:49 -0400)
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
engines/net.c

index c0a793e86cb8d7f38dfff1601ae218b2eb6d387a..9e6e789ece8f87ea2abf70409e1fbf447dce3285 100644 (file)
@@ -223,7 +223,10 @@ static int fio_netio_splice_out(struct thread_data *td, struct io_u *io_u)
 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 @@ static int fio_netio_send(struct thread_data *td, struct io_u *io_u)
                if (ret <= 0)
                        break;
 
+#ifdef MSG_DONTWAIT
                flags &= ~MSG_DONTWAIT;
+#endif
        } while (1);
 
        return ret;
@@ -276,7 +281,10 @@ static int is_udp_close(struct io_u *io_u, int len)
 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 @@ static int fio_netio_recv(struct thread_data *td, struct io_u *io_u)
                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);