From: ron m. <rmi...@la...> - 2004-06-29 08:46:46
|
while ( (l1i = ffs(l1)) != 0 ) { l1i--; l1 &= ~(1 << l1i); l2 = s->evtchn_pending[l1i] & ~s->evtchn_mask[l1i]; while ( (l2i = ffs(l2)) != 0 ) { l2i--; from evtchn.c This seems to assume that ffs is 1-relative in the bit numbers. My testing shows it is 0-relative, and the manual bears me out. Has this code changed in the latest, am I missing something, or ... For Plan 9 I changed it to: while ( (l1i = ffs(l1)) >= 0 ) { l1 &= ~(1 << l1i); l2 = s->evtchn_pending[l1i] & ~s->evtchn_mask[l1i]; while ( (l2i = ffs(l2)) >= 0 ) { ron |