📄 usr0sess.c
字号:
/******************************************************Sessions(c) 1996 Innobase OyCreated 6/25/1996 Heikki Tuuri*******************************************************/#include "usr0sess.h"#ifdef UNIV_NONINL#include "usr0sess.ic"#endif#include "trx0trx.h"/*************************************************************************Closes a session, freeing the memory occupied by it. */staticvoidsess_close(/*=======*/ sess_t* sess); /* in, own: session object *//*************************************************************************Opens a session. */sess_t*sess_open(void)/*===========*/ /* out, own: session object */{ sess_t* sess;#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&kernel_mutex));#endif /* UNIV_SYNC_DEBUG */ sess = mem_alloc(sizeof(sess_t)); sess->state = SESS_ACTIVE; sess->trx = trx_create(sess); UT_LIST_INIT(sess->graphs); return(sess);}/*************************************************************************Closes a session, freeing the memory occupied by it. */staticvoidsess_close(/*=======*/ sess_t* sess) /* in, own: session object */{ #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&kernel_mutex));#endif /* UNIV_SYNC_DEBUG */ ut_ad(sess->trx == NULL); mem_free(sess);}/*************************************************************************Closes a session, freeing the memory occupied by it, if it is in a statewhere it should be closed. */iboolsess_try_close(/*===========*/ /* out: TRUE if closed */ sess_t* sess) /* in, own: session object */{#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&kernel_mutex));#endif /* UNIV_SYNC_DEBUG */ if (UT_LIST_GET_LEN(sess->graphs) == 0) { sess_close(sess); return(TRUE); } return(FALSE);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -