void sx_init(sxmanager *m, sx *x, svlog *log) { x->manager = m; x->log = log; sx_promote(x, SX_UNDEF); ss_listinit(&x->deadlock); }
sinode *si_nodenew(sr *r) { sinode *n = (sinode*)ss_malloc(r->a, sizeof(sinode)); if (ssunlikely(n == NULL)) { sr_oom_malfunction(r->e); return NULL; } n->recover = 0; n->backup = 0; n->lru = 0; n->ac = 0; n->flags = 0; n->update_time = 0; n->used = 0; n->in_memory = 0; si_branchinit(&n->self, r); n->branch = NULL; n->branch_count = 0; n->temperature = 0; n->temperature_reads = 0; ss_fileinit(&n->file, r->vfs); ss_mmapinit(&n->map); ss_mmapinit(&n->map_swap); sv_indexinit(&n->i0); sv_indexinit(&n->i1); ss_rbinitnode(&n->node); ss_rqinitnode(&n->nodecompact); ss_rqinitnode(&n->nodebranch); ss_rqinitnode(&n->nodetemp); ss_listinit(&n->commit); return n; }
static inline void sx_deadlock_unmark(sslist *mark) { sslist *i, *n; ss_listforeach_safe(mark, i, n) { sx *t = sscast(i, sx, deadlock); ss_listinit(&t->deadlock); }
int sx_indexinit(sxindex *i, sxmanager *m, sr *r, void *ptr) { ss_rbinit(&i->i); ss_listinit(&i->link); i->dsn = 0; i->ptr = ptr; i->r = r; ss_listappend(&m->indexes, &i->link); return 0; }
int sx_indexinit(sxindex *i, sxmanager *m, sr *r, so *object) { ss_rbinit(&i->i); ss_listinit(&i->link); i->dsn = 0; i->object = object; i->r = r; ss_listappend(&m->indexes, &i->link); return 0; }
int sx_managerinit(sxmanager *m, sr *r, ssa *asxv) { ss_rbinit(&m->i); m->count_rd = 0; m->count_rw = 0; m->count_gc = 0; m->csn = 0; m->gc = NULL; ss_spinlockinit(&m->lock); ss_listinit(&m->indexes); m->r = r; m->asxv = asxv; return 0; }
int sx_managerinit(sxmanager *m, srseq *seq, ssa *a) { ss_rbinit(&m->i); m->count_rd = 0; m->count_rw = 0; m->count_gc = 0; m->csn = 0; m->gc = NULL; ss_spinlockinit(&m->lock); ss_listinit(&m->indexes); sx_vpool_init(&m->pool, a); m->seq = seq; return 0; }
void sx_init(sxmanager *m, sx *x) { x->manager = m; sv_loginit(&x->log); ss_listinit(&x->deadlock); }
void sx_init(sxmanager *m, sx *t) { t->manager = m; sv_loginit(&t->log); ss_listinit(&t->deadlock); }