return conn;
}
-bool io_timeout_(struct io_conn *conn, struct timespec ts,
+bool io_timeout_(struct io_conn *conn, struct timerel t,
struct io_plan (*cb)(struct io_conn *, void *), void *arg)
{
assert(cb);
conn->timeout->next = cb;
conn->timeout->next_arg = arg;
- backend_add_timeout(conn, ts);
+ backend_add_timeout(conn, t);
return true;
}
plan.next_arg = arg;
/* Save old flags, set nonblock if not already. */
- plan.u1.s = fcntl(fd, F_GETFD);
- fcntl(fd, F_SETFD, plan.u1.s | O_NONBLOCK);
+ plan.u1.s = fcntl(fd, F_GETFL);
+ fcntl(fd, F_SETFL, plan.u1.s | O_NONBLOCK);
/* Immediate connect can happen. */
if (connect(fd, addr->ai_addr, addr->ai_addrlen) == 0) {