[comp.sys.apollo] using 'select' under Domain-IX

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.
-------