+ return io_wait(conn, buf, read_in, buf);
+}
+
+static struct io_plan *wake_and_close(struct io_conn *conn, char *buf)
+{
+ io_wake(buf);
+ return io_close(conn);
+}
+
+static struct io_plan *setup_waker(struct io_conn *conn, char *buf)
+{
+ return io_read(conn, buf, 1, wake_and_close, buf);