Branch Coverage

c/queue.c
Criterion Covered Total %
branch 70 104 67.3


line true false branch
14 111876 0 PE_RING_DETACH(&ev->que);
21 0 0 while (ev) {
31 111889 3 if (!ev->callback) {
32 111889 0 if (WaPERLCB(wa)) {
44 9 111883 if (!WaACTIVE(wa)) {
45 0 9 if (!WaRUNNOW(wa))
46 0 0 warn("Event: event for !ACTIVE watcher '%s'", SvPV(wa->desc,n_a));
49 29 111854 if (!WaREPEAT(wa))
51 48 111806 else if (WaINVOKE1(wa))
62 0 111877 if (!PE_RING_EMPTY(&ev->que)) return; /* clump'd event already queued */
63 0 111877 if (!prepare_event(ev, "queue")) return;
65 1 111876 if (ev->prio < 0) { /* invoke the event immediately! */
70 0 111876 if (ev->prio >= PE_QUEUES)
78 776989 111871 while (rg->self && ((pe_event*)rg->self)->prio <= ev->prio)
776984 5 while (rg->self && ((pe_event*)rg->self)->prio <= ev->prio)
89 111546 82401 if (ev && ev->prio < maxprio) {
110953 593 if (ev && ev->prio < maxprio) {
98 0 69428 if (SvIVX(DebugLevel) >= 2) {
99 0 0 warn("Event: multiplex %.4fs %s%s\n", tm,
0 0 warn("Event: multiplex %.4fs %s%s\n", tm,
103 69428 0 if (!Estat.on)
114 1 1 while (qcb) {
115 1 0 if (qcb->is_perl) {
119 0 1 PUSHMARK(SP);
125 0 1 when = SvNOK(got) ? SvNVX(got) : SvNV(got);
0 1 when = SvNOK(got) ? SvNVX(got) : SvNV(got);
126 0 1 if (when < tm) tm = when;
130 0 0 if (got < tm) tm = got;
139 1 2 if (!PE_RING_EMPTY(&Prepare)) tm = pe_map_prepare(tm);
144 1 2 if (!PE_RING_EMPTY(&Check)) pe_map_check(&Check);
147 1 2 if (!PE_RING_EMPTY(&AsyncCheck)) pe_map_check(&AsyncCheck);
155 0 124516 if (!PE_RING_EMPTY(&AsyncCheck)) pe_map_check(&AsyncCheck);
157 55090 69425 if (pe_empty_queue(StarvePrio)) return 1;
159 68832 593 if (!PE_RING_EMPTY(&NQueue) || !PE_RING_EMPTY(&Idle)) {
1 68831 if (!PE_RING_EMPTY(&NQueue) || !PE_RING_EMPTY(&Idle)) {
164 68702 129 if (t1 < tm) tm = t1;
166 0 69425 if (!PE_RING_EMPTY(&Prepare)) tm = pe_map_prepare(tm);
171 0 69425 if (!PE_RING_EMPTY(&Check)) pe_map_check(&Check);
173 68831 594 if (tm) {
175 0 68831 if (!PE_RING_EMPTY(&AsyncCheck)) pe_map_check(&AsyncCheck);
178 55847 13566 if (pe_empty_queue(PE_QUEUES)) return 1;
185 13551 15 if (PE_RING_EMPTY(&Idle)) return 0;
188 15 0 PE_RING_DETACH(lk);
194 0 15 if (!prepare_event(ev, "idle")) continue;
207 29 118 if (CurCBFrame < 0)
213 0 118 if (Estat.on)
215 118 0 if (WaREPEAT(wa)) {
216 116 2 if (WaREENTRANT(wa)) {
217 116 0 if (WaACTIVE(wa) && WaINVOKE1(wa))
1 115 if (WaACTIVE(wa) && WaINVOKE1(wa))
220 2 0 if (!WaSUSPEND(wa)) {
243 0 13 if (--ExitLevel < 0) {