luo_session_global
static struct luo_session_global luo_session_global = {
.list = LIST_HEAD_INIT(luo_session_global.incoming.list),
.rwsem = __RWSEM_INITIALIZER(luo_session_global.incoming.rwsem),
.block_set = KHO_BLOCK_SET_INIT(luo_session_global.incoming.block_set,
.list = LIST_HEAD_INIT(luo_session_global.outgoing.list),
.rwsem = __RWSEM_INITIALIZER(luo_session_global.outgoing.rwsem),
.block_set = KHO_BLOCK_SET_INIT(luo_session_global.outgoing.block_set,
if (sh == &luo_session_global.outgoing) {
if (sh == &luo_session_global.outgoing)
sh = &luo_session_global.incoming;
sh = &luo_session_global.outgoing;
err = luo_session_insert(&luo_session_global.outgoing, session);
luo_session_remove(&luo_session_global.outgoing, session);
struct luo_session_header *sh = &luo_session_global.incoming;
luo_session_global.outgoing.sessions_pa = sessions_pa;
luo_session_global.outgoing.active = true;
struct luo_session_header *sh = &luo_session_global.incoming;
struct luo_session_header *sh = &luo_session_global.incoming;
struct luo_session_header *sh = &luo_session_global.outgoing;