All Manuals > LispWorks® User Guide and Reference Manual > 47 The SYSTEM Package

force-using-select-for-io Function

Summary

For expert use: Tell LispWorks whether to use select or poll when waiting for I/O on non-Windows platforms.

Package

system

Signature

force-using-select-for-io fd-count

Arguments
fd-count
nil or an (integer 16 #x100000).
Description

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.

Notes

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