yogi@humus.Huji.AC.IL (yossi gil) (08/16/88)
I don't quite understand how the 'select' call is supposed to work under Domain-IX. 'select' wants you to set the bits in a 32-bit int to represent which file descriptors you are interested in. This is fine except that under Domain-IX a file descriptor can be a number larger than 31. Is it 'select' useless on the Apollo or am I missing something here? Yogi
rees@MAILGW.CC.UMICH.EDU (Jim Rees) (08/16/88)
I don't quite understand how the 'select' call is supposed to work under Domain-IX. 'select' wants you to set the bits in a 32-bit int to represent which file descriptors you are interested in. This is fine except that under Domain-IX a file descriptor can be a number larger than 31. Is it 'select' useless on the Apollo or am I missing something here? There is nothing in the definition of select() that restricts the set of bits to 32. In fact, you can pass in as many bits as you want, up to the 128 max number of open file descriptors. There are, unfortunately, a large number of programs out there that assume that you can fit all your file descriptor bits into an int. Those programs are broken, and this is part of the reason that getdtablesize() returns a number less than 128 (this is fixed in sr10). But select works correctly. -------