Example #1
0
// 节点池 : 释放节点
func (this *AppBase) releaseDlinkNode(d *help.DListNode) {
	if d == nil || d.Next == nil {
		return
	}

	// 释放一串
	if !d.IsEmpty() {
		header_pre := d.Pre
		header_next := d.Next

		d.Init(nil)

		old_pre := this.node_free.Pre

		this.node_free.Pre = header_pre
		header_pre.Next = &this.node_free

		header_next.Pre = old_pre
		old_pre.Next = header_next
	}
}