BSD-Itimer

 view release on metacpan or  search on metacpan

Itimer.xs  view on Meta::CPAN



MODULE = BSD::Itimer		PACKAGE = BSD::Itimer	PREFIX=bsd_

void
bsd_getitimer(which)
	int	which
PREINIT:
	struct itimerval it;
	int err;
PPCODE:
	err = getitimer(which, &it);
	if(err < 0) {
	    XSRETURN_EMPTY;
        }
	EXTEND(sp, 4);
	PUSHs(sv_2mortal(newSViv(it.it_interval.tv_sec)));
	PUSHs(sv_2mortal(newSViv(it.it_interval.tv_usec)));
	PUSHs(sv_2mortal(newSViv(it.it_value.tv_sec)));
	PUSHs(sv_2mortal(newSViv(it.it_value.tv_usec)));

void
bsd_setitimer(which, ival_sec, ival_usec, val_sec, val_usec)
	int	which
	int	ival_sec
	int	ival_usec
	int	val_sec
	int	val_usec
PREINIT:
	struct itimerval setiv, getiv;
	int err;
PPCODE:
	setiv.it_interval.tv_sec = ival_sec;
	setiv.it_interval.tv_usec = ival_usec;
	setiv.it_value.tv_sec = val_sec;
	setiv.it_value.tv_usec = val_usec;
	err = setitimer(which, &setiv, &getiv);
	if(err < 0) {
	    XSRETURN_EMPTY;
        }
	EXTEND(sp, 4);
	PUSHs(sv_2mortal(newSViv(getiv.it_interval.tv_sec)));



( run in 2.346 seconds using v1.01-cache-2.11-cpan-71847e10f99 )