Queue-Mmap

 view release on metacpan or  search on metacpan

Mmap.xs  view on Meta::CPAN

	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

Mmap.xs  view on Meta::CPAN

	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 0.359 second using v1.01-cache-2.11-cpan-5511b514fd6 )