On Fri, Sep 28, 2012 at 03:32:37PM +0800, Robin Lee wrote: > Hi, I just began reading the code of HAproxy. > > I am confused a bit with the operations about fd_evts. The comment says: > > /* Each 32-bit word contains 2-bit descriptors of the latest state for 16 > FDs : > * desc = (u32 >> (2*fd)) & 3 > > Should that actually be > desc = (u32 >> FD2BIT(fd)) & 3 > > (2*fd) may be larger than 32.
Yes but as you can see it's just a comment explaining the general principle (and BTW you got it right). If you look at the code you can find FD2BIT(fd). And for what it's worth, most archs automatically trim bit counts during shifts, so even without the mask it will work, though I would definitely not rely on this ! Regards, Willy

