EV
view release on metacpan or search on metacpan
: ix == 1 ? w->rpid
: w->rstatus;
OUTPUT:
RETVAL
#endif
MODULE = EV PACKAGE = EV::Stat PREFIX = ev_stat_
void ev_stat_start (ev_stat *w)
CODE:
START (stat, w);
void ev_stat_stop (ev_stat *w)
CODE:
STOP (stat, w);
void DESTROY (ev_stat *w)
CODE:
STOP (stat, w);
e_destroy (w);
void set (ev_stat *w, SV *path, NV interval)
CODE:
{
sv_setsv (e_fh (w), path);
RESET (stat, w, (w, SvPVbyte_nolen (e_fh (w)), interval));
}
SV *path (ev_stat *w, SV *new_path = NO_INIT)
CODE:
{
RETVAL = e_fh (w) ? newSVsv (e_fh (w)) : &PL_sv_undef;
if (items > 1)
{
sv_2mortal (e_fh (w));
e_fh (w) = newSVsv (new_path);
RESET (stat, w, (w, SvPVbyte_nolen (e_fh (w)), w->interval));
}
}
OUTPUT:
RETVAL
NV interval (ev_stat *w, SV *new_interval = NO_INIT)
CODE:
RETVAL = w->interval;
if (items > 1)
{
PAUSE (stat);
w->interval = SvNV (new_interval);
RESUME (stat);
}
OUTPUT:
RETVAL
void prev (ev_stat *w)
ALIAS:
stat = 1
attr = 2
PPCODE:
{
ev_statdata *s = ix ? &w->attr : &w->prev;
if (ix == 1)
ev_stat_stat (e_loop (w), w);
else if (!s->st_nlink)
errno = ENOENT;
PL_statcache.st_dev = s->st_nlink;
PL_statcache.st_ino = s->st_ino;
PL_statcache.st_mode = s->st_mode;
PL_statcache.st_nlink = s->st_nlink;
PL_statcache.st_uid = s->st_uid;
PL_statcache.st_gid = s->st_gid;
PL_statcache.st_rdev = s->st_rdev;
PL_statcache.st_size = s->st_size;
PL_statcache.st_atime = s->st_atime;
PL_statcache.st_mtime = s->st_mtime;
PL_statcache.st_ctime = s->st_ctime;
if (GIMME_V == G_SCALAR)
XPUSHs (boolSV (s->st_nlink));
else if (GIMME_V == G_ARRAY && s->st_nlink)
{
EXTEND (SP, 13);
PUSHs (sv_2mortal (newSViv (s->st_dev)));
PUSHs (sv_2mortal (newSViv (s->st_ino)));
PUSHs (sv_2mortal (newSVuv (s->st_mode)));
PUSHs (sv_2mortal (newSVuv (s->st_nlink)));
PUSHs (sv_2mortal (newSViv (s->st_uid)));
PUSHs (sv_2mortal (newSViv (s->st_gid)));
PUSHs (sv_2mortal (newSViv (s->st_rdev)));
PUSHs (sv_2mortal (newSVnv ((NV)s->st_size)));
PUSHs (sv_2mortal (newSVnv (s->st_atime)));
PUSHs (sv_2mortal (newSVnv (s->st_mtime)));
PUSHs (sv_2mortal (newSVnv (s->st_ctime)));
PUSHs (sv_2mortal (newSVuv (4096)));
PUSHs (sv_2mortal (newSVnv ((NV)((s->st_size + 4095) / 4096))));
}
}
MODULE = EV PACKAGE = EV::Embed PREFIX = ev_embed_
void ev_embed_start (ev_embed *w)
CODE:
START (embed, w);
void ev_embed_stop (ev_embed *w)
CODE:
STOP (embed, w);
void DESTROY (ev_embed *w)
CODE:
STOP (embed, w);
e_destroy (w);
void set (ev_embed *w, struct ev_loop *loop)
CODE:
{
sv_setsv (e_fh (w), ST (1));
( run in 2.104 seconds using v1.01-cache-2.11-cpan-71847e10f99 )