コード例 #1
0
ファイル: lua-stm.c プロジェクト: fangjianh/skynet-vs2013
static void
stm_grab(struct stm_object *obj) {
	rwlock_rlock(&obj->lock);
	int ref = ATOM_FINC(&obj->reference);
	rwlock_runlock(&obj->lock);
	assert(ref > 0);
}
コード例 #2
0
ファイル: cpu_usage.c プロジェクト: colin-zhang/tst
uint32_t 
crb_set(Crb_t* rcb, void* data )
{
    uint32_t curr = ATOM_FINC(&rcb->curr);
    uint32_t index = curr & (rcb->size - 1);
    memcpy(rcb->data[index], data, rcb->msize);
    return curr;
}
コード例 #3
0
ファイル: lua-stm.c プロジェクト: fangjianh/skynet-vs2013
static struct stm_copy *
stm_copy(struct stm_object *obj) {
	rwlock_rlock(&obj->lock);
	struct stm_copy * ret = obj->copy;
	if (ret) {
		int ref = ATOM_FINC(&ret->reference);
		assert(ref > 0);
	}
	rwlock_runlock(&obj->lock);
	
	return ret;
}