For expert use: Tell LispWorks whether to use select
or poll
when waiting for I/O on non-Windows platforms.
system
force-using-select-for-io fd-count
fd-count⇩ | nil or an (integer 16 #x100000) . |
The function force-using-select-for-io
tells LispWorks whether to use select
or poll
when waiting for I/O on non-Windows platforms.
If fd-count is nil
, LispWorks will use poll
to wait for I/O. This is the default on all architectures except macOS and iOS.
If fd-count is non-nil, LispWorks will use select
to wait for I/O. In this case, fd-count must be integer in the range 16 to #x100000. It specified the maximum expected value of a file descriptor.
force-using-select-for-io
must be called before starting multiprocessing, and before any application-initiated I/O.
force-using-select-for-io
is provided for situations where the underlying implementation of poll
is not working properly, which is difficult to identify in general. Therefore, before using force-using-select-for-io
, contact LispWorks support to check if it is the right solution to the issue you try to resolve.
LispWorks can cope with file descriptors that are larger than fd-count, with a small overhead. A larger fd-count also means more overhead. Thus, ideally, you want fd-count to be as small as possible but larger than any file descriptor that the application ever creates, but it is not important to get it right. Typical values are between 256 and 4096.
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:31:02