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 = OS_MSG_DONTWAIT;
do {
if (nd->net_protocol == IPPROTO_UDP) {
+ struct sockaddr *to = (struct sockaddr *) &nd->addr;
+
ret = sendto(io_u->file->fd, io_u->xfer_buf,
- io_u->xfer_buflen, flags, &nd->addr,
- sizeof(nd->addr));
+ io_u->xfer_buflen, flags, to,
+ sizeof(*to));
} else {
/*
* if we are going to write more, set MSG_MORE
if (ret <= 0)
break;
- flags &= ~MSG_DONTWAIT;
+ flags &= ~OS_MSG_DONTWAIT;
} while (1);
return ret;
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 = OS_MSG_DONTWAIT;
do {
if (nd->net_protocol == IPPROTO_UDP) {
+#ifdef __hpux
+ int len = sizeof(nd->addr);
+#else
socklen_t len = sizeof(nd->addr);
+#endif
+ struct sockaddr *from = (struct sockaddr *) &nd->addr;
ret = recvfrom(io_u->file->fd, io_u->xfer_buf,
- io_u->xfer_buflen, flags, &nd->addr,
- &len);
+ io_u->xfer_buflen, flags, from, &len);
if (is_udp_close(io_u, ret)) {
td->done = 1;
return 0;
ret = poll_wait(td, io_u->file->fd, POLLIN);
if (ret <= 0)
break;
- flags &= ~MSG_DONTWAIT;
+ flags &= ~OS_MSG_DONTWAIT;
flags |= MSG_WAITALL;
} while (1);
static int fio_netio_accept(struct thread_data *td, struct fio_file *f)
{
struct netio_data *nd = td->io_ops->data;
+#ifdef __hpux
+ int socklen = sizeof(nd->addr);
+#else
socklen_t socklen = sizeof(nd->addr);
+#endif
if (nd->net_protocol == IPPROTO_UDP) {
f->fd = nd->listenfd;
{
struct netio_data *nd = td->io_ops->data;
struct udp_close_msg msg;
+ struct sockaddr *to = (struct sockaddr *) &nd->addr;
int ret;
msg.magic = htonl(FIO_LINK_CLOSE_MAGIC);
msg.cmd = htonl(FIO_LINK_CLOSE);
- ret = sendto(f->fd, &msg, sizeof(msg), MSG_WAITALL, &nd->addr,
+ ret = sendto(f->fd, &msg, sizeof(msg), MSG_WAITALL, to,
sizeof(nd->addr));
if (ret < 0)
td_verror(td, errno, "sendto udp link close");
.open_file = fio_netio_open_file,
.close_file = generic_close_file,
.flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_UNIDIR |
- FIO_SIGQUIT,
+ FIO_SIGTERM | FIO_PIPEIO,
};
#endif
.open_file = fio_netio_open_file,
.close_file = fio_netio_close_file,
.flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_UNIDIR |
- FIO_SIGQUIT,
+ FIO_SIGTERM | FIO_PIPEIO,
};
static void fio_init fio_netio_register(void)