[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] select() with fd > 31
Hi Jim,
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
from select().
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.
Cheers,
John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/