| 186 | } |
| 187 | |
| 188 | ssize_t sendv(int fd, const struct iovec *iov, int iovcnt, int flag, Timeout timeout) { |
| 189 | msghdr msg = {}; |
| 190 | msg.msg_iov = (struct iovec*)iov; |
| 191 | msg.msg_iovlen = iovcnt; |
| 192 | return DOIO_ONCE(::sendmsg(fd, &msg, flag | MSG_NOSIGNAL), |
| 193 | wait_for_fd_writable(fd, timeout)); |
| 194 | } |
| 195 | |
| 196 | ssize_t send_n(int fd, const void *buf, size_t count, int flag, Timeout timeout) { |
| 197 | return DOIO_LOOP(send(fd, buf, count, flag, timeout), BufStep((void*&)buf, count)); |
no test coverage detected