Couchbase
view release on metacpan or search on metacpan
#undef X
ptriv = newSViv(PTR2IV(async));
blessedrv = newRV_noinc(ptriv);
sv_bless(blessedrv, gv_stashpv(PLCB_IOPROCS_CLASS, GV_ADD));
async->refcount = 1;
async->iops_ptr = cbcio;
cbcio->v.v0.cookie = async;
async->selfrv = newRV_inc(ptriv); sv_rvweaken(async->selfrv);
async->action_sv = newSViv(0); SvREADONLY_on(async->action_sv);
async->flags_sv = newSViv(0); SvREADONLY_on(async->flags_sv);
async->usec_sv = newSVnv(0); SvREADONLY_on(async->usec_sv);
async->sched_r_sv = newSViv(0); SvREADONLY_on(async->sched_r_sv);
async->sched_w_sv = newSViv(0); SvREADONLY_on(async->sched_w_sv);
async->stop_r_sv = newSViv(0); SvREADONLY_on(async->stop_r_sv);
async->stop_w_sv = newSViv(0); SvREADONLY_on(async->stop_w_sv);
/* i/o events */
cbcio->v.v0.create_event = create_event;
xs/opcontext.c view on Meta::CPAN
if (parent->cachectx && (flags & PLCB_OPCTXf_IMPLICIT)) {
blessed = parent->cachectx;
parent->cachectx = NULL;
ctx = NUM2PTR(plcb_OPCTX*,SvIVX(SvRV(blessed)));
} else {
Newxz(ctx, 1, plcb_OPCTX);
ctx->docs = newHV();
ctx->parent = newRV_inc(parent->selfobj);
sv_rvweaken(ctx->parent);
blessed = newRV_noinc(newSViv(PTR2IV(ctx)));
sv_bless(blessed, parent->opctx_sync_stash);
}
ctx->flags = flags;
ctx->nremaining = 0;
parent->curctx = blessed;
SvREFCNT_inc(parent->curctx);
lcb_sched_enter(parent->instance);
xs/ppport.h view on Meta::CPAN
sv_pvutf8n_force||5.006000|
sv_pvutf8n||5.006000|
sv_pvutf8||5.006000|
sv_pv||5.006000|
sv_recode_to_utf8||5.007003|
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
sv_setpvf_mg_nocontext|||pvn
sv_setpvf_mg|5.006000|5.004000|pv
sv_setpvf_nocontext|||vn
sv_setpvf||5.004000|v
sv_setpviv_mg||5.008001|
rowreq_init_common(PLCB_t *parent, AV *req)
{
SV *selfref;
av_fill(req, PLCB_VHIDX_MAX);
av_store(req, PLCB_VHIDX_ROWBUF, newRV_noinc((SV *)newAV()));
av_store(req, PLCB_VHIDX_RAWROWS, newRV_noinc((SV *)newAV()));
av_store(req, PLCB_VHIDX_PARENT, newRV_inc(parent->selfobj));
selfref = newRV_inc((SV*)req);
sv_rvweaken(selfref);
av_store(req, PLCB_VHIDX_SELFREF, selfref);
}
static PLCB_t *
parent_from_req(AV *req)
{
SV **pp = av_fetch(req, PLCB_VHIDX_PARENT, 0);
return NUM2PTR(PLCB_t*,SvUV(SvRV(*pp)));
}
( run in 0.676 second using v1.01-cache-2.11-cpan-65fba6d93b7 )