Branch Coverage

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


line true false branch
14 95886 0 PE_RING_DETACH(&ev->que);
21 0 0 while (ev) {
31 95899 3 if (!ev->callback) {
32 95899 0 if (WaPERLCB(wa)) {
44 9 95893 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 95864 if (!WaREPEAT(wa))
51 48 95816 else if (WaINVOKE1(wa))
62 0 95887 if (!PE_RING_EMPTY(&ev->que)) return; /* clump'd event already queued */
63 0 95887 if (!prepare_event(ev, "queue")) return;
65 1 95886 if (ev->prio < 0) { /* invoke the event immediately! */
70 0 95886 if (ev->prio >= PE_QUEUES)
78 772005 95881 while (rg->self && ((pe_event*)rg->self)->prio <= ev->prio)
772000 5 while (rg->self && ((pe_event*)rg->self)->prio <= ev->prio)
89 95537 69686 if (ev && ev->prio < maxprio) {
94952 585 if (ev && ev->prio < maxprio) {
98 0 59064 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 59064 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 106156 if (!PE_RING_EMPTY(&AsyncCheck)) pe_map_check(&AsyncCheck);
157 47094 59061 if (pe_empty_queue(StarvePrio)) return 1;
159 58476 585 if (!PE_RING_EMPTY(&NQueue) || !PE_RING_EMPTY(&Idle)) {
1 58475 if (!PE_RING_EMPTY(&NQueue) || !PE_RING_EMPTY(&Idle)) {
164 58346 129 if (t1 < tm) tm = t1;
166 0 59061 if (!PE_RING_EMPTY(&Prepare)) tm = pe_map_prepare(tm);
171 0 59061 if (!PE_RING_EMPTY(&Check)) pe_map_check(&Check);
173 58475 586 if (tm) {
175 0 58475 if (!PE_RING_EMPTY(&AsyncCheck)) pe_map_check(&AsyncCheck);
178 47842 11207 if (pe_empty_queue(PE_QUEUES)) return 1;
185 11192 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) {