X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fio%2Fio.c;h=68b95e82467194f13e87302e907cda5020fe37db;hb=3f642347378afc9e1db1768d88c9f5b2baffe9ba;hp=4c41c93a683214fd24b50a647a94b31706d98017;hpb=31c816a6a9a2037d8860d56814835d9ac488d52f;p=ccan diff --git a/ccan/io/io.c b/ccan/io/io.c index 4c41c93a..68b95e82 100644 --- a/ccan/io/io.c +++ b/ccan/io/io.c @@ -421,6 +421,14 @@ struct io_plan *io_close_cb(struct io_conn *conn, void *next_arg) return io_close(conn); } +struct io_plan *io_close_taken_fd(struct io_conn *conn) +{ + set_blocking(conn->fd.fd, true); + + cleanup_conn_without_close(conn); + return io_close(conn); +} + /* Exit the loop, returning this (non-NULL) arg. */ void io_break(const void *ret) {