]> git.ozlabs.org Git - ccan/blobdiff - ccan/io/io.c
io: fix io_connect().
[ccan] / ccan / io / io.c
index 4c73b62455693f6ae5c633c910921583cd3a5089..bac08c9f9effd984c6297da04af9211d2e5c8ba3 100644 (file)
@@ -198,7 +198,7 @@ struct io_conn *io_duplex_(struct io_conn *old, struct io_plan plan)
        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);
@@ -212,7 +212,7 @@ bool io_timeout_(struct io_conn *conn, struct timespec ts,
 
        conn->timeout->next = cb;
        conn->timeout->next_arg = arg;
-       backend_add_timeout(conn, ts);
+       backend_add_timeout(conn, t);
        return true;
 }
 
@@ -403,8 +403,8 @@ struct io_plan io_connect_(int fd, const struct addrinfo *addr,
        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) {