[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] select() with fd > 31
Jim Van Vorst wrote:
I have run into a problem with select(). It won't set bits for file
descriptors > 31. I.e. it looks like there's a 32-bit limitation down
in the bowels somewhere. I am using the normal FD_SET, FD_ISSET macros
to set and check my fd bits. I know I am setting the right bits, and I
know there's data waiting, but bits above 31 are never set on the return
I am running linux 2.6.
Anyone seen this before? Is this a uclinux thing? A microblaze thing?
Am I delusional?
Are you still having trouble with this (I've been on holdidays)
Checking the obvious - you are passing *pointers* to the fd_sets in
question right, not the structures themselevs?
Are you correctly setting the 'n' parameter to select(), to be max(fd) +
1 as per "man select"?
It's worth peppering some printk's in linux-2.6/fs/select.c, in the
core_sys_select() function, to find out what's going on. This is all
mainline code, no microblaze or uclinux specific limitations I'm aware
of. You should be able to specify up to 1024 FDs.
microblaze-uclinux mailing list
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/