RTEMS5 File Descriptors
ianc at goanna.iinet.net.au
Wed Nov 21 08:13:33 UTC 2018
Hi Mathew and Sebastian,
Thanks for the ideas.
On the older product there was a reasonable existing code base already
built, so we effectively forced the users by deprecating the old select
and made them build with the new select.
This is a new product with RTEMS 5 and since I am doing all the early
work, I can force a compiler build option with the -DFD_SETSIZE=500so
this is probably the direction we will go, that way all the users will
end up with this define when they build their apps.
On 21/11/2018 3:00 pm, Sebastian Huber wrote:
> Hello Ian,
> the file descriptors use now reference counting. In case you use a
> closed file descriptor you get an error. The file descriptor list
> order was changed to keep closed file descriptors as long as possible
> in the closed state to improve the detection of a use after close.
> In case you plan to switch to libbsd for networking, then using
> kqueue() instead of select() is an option.
> A quick and dirty hack would be to patch Newlib and set FD_SETSIZE to
> your desired value.
> If you have all your software under control, then you can also define
> FD_SETSIZE yourself BEFORE you include <sys/select.h>.
> You can also dynamically allocate the fd_set depending on
> rtems_libio_number_iops, for example:
> I think we should mention this in the release notes.
More information about the users