Seq Manager
GTM_InitSeqManager初始化序列管理器
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5COyQzNxMDOihzYjZWO0YGZyYzX2EzN1kDM2IzLcdDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
void GTM_InitSeqManager(void) {
int ii;
for (ii = 0; ii < SEQ_HASH_TABLE_SIZE; ii++){
GTMSequences[ii].shb_list = gtm_NIL;
GTM_RWLockInit(>MSequences[ii].shb_lock);
}
}
static GTM_SeqInfo *seq_find_seqinfo(GTM_SequenceKey seqkey)通过键查找GTM_SeqInfo值
static int seq_release_seqinfo(GTM_SeqInfo *seqinfo)获取seqinfo->gs_lock锁,将引用计数seqinfo->gs_ref_count减少,如果seqinfo->gs_state为SEQ_STATE_DELETED且引用计数为零的情况,需要使用seq_remove_seqinfo从序列管理器GTMSequences删除该GTM_SeqInfo,释放seqinfo->gs_lock锁。