Queue-Mmap
view release on metacpan or search on metacpan
SV * self;
SV * value;
INIT:
struct object * obj;
void *strp;
int strl;
STRLEN strlo;
obj = INT2PTR(struct object*, SvIV(SvRV(self)));
strp = (void *)SvPV(value, strlo);
strl = (int)strlo;
PPCODE:
if(strl > obj->rec_len * (obj->que_len - 1)){
XSRETURN_UNDEF;
}
push_queue(obj,strp,strl);
XPUSHs(sv_2mortal(newSVnv(obj->wait_push)));
if(GIMME_V == G_ARRAY){
XPUSHs(sv_2mortal(newSVnv(obj->wait_lock)));
}
void
obj = INT2PTR(struct object*, SvIV(SvRV(self)));
CODE:
free_queue(obj);
void
stat(self)
SV* self
INIT:
struct object * obj;
obj = INT2PTR(struct object*, SvIV(SvRV(self)));
PPCODE:
XPUSHs(sv_2mortal(newSViv(obj->q->top)));
XPUSHs(sv_2mortal(newSViv(obj->q->bottom)));
XPUSHs(sv_2mortal(newSViv(obj->que_len)));
XPUSHs(sv_2mortal(newSViv(obj->rec_len)));
SV*
length(self)
SV* self
INIT:
int t,b;
( run in 2.291 seconds using v1.01-cache-2.11-cpan-5511b514fd6 )