connection_init_client_unix(conn->clist, &conn->conn,
conn->auth_socket_path);
+ if ((flags & AUTH_MASTER_FLAG_NO_INNER_IOLOOP) != 0)
+ conn->ioloop = current_ioloop;
return conn;
}
if (conn->prev_ioloop != NULL) {
io_loop_set_current(conn->prev_ioloop);
}
- if (conn->ioloop != NULL) {
+ if (conn->ioloop != NULL &&
+ (conn->flags & AUTH_MASTER_FLAG_NO_INNER_IOLOOP) == 0) {
io_loop_set_current(conn->ioloop);
connection_switch_ioloop_to(&conn->conn, conn->ioloop);
connection_input_halt(&conn->conn);
/* Enable logging debug information */
AUTH_MASTER_FLAG_DEBUG = 0x01,
/* Don't disconnect from auth socket when idling */
- AUTH_MASTER_FLAG_NO_IDLE_TIMEOUT = 0x02
+ AUTH_MASTER_FLAG_NO_IDLE_TIMEOUT = 0x02,
+ /* No inner ioloop (testing only) */
+ AUTH_MASTER_FLAG_NO_INNER_IOLOOP = 0x04,
};
struct auth_user_info {