You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added local_socket::ListenerOptions::try_overwrite to streamline the common case of dealing with "address in use" errors.
Added local_socket::ConnectOptions, allowing clients to specify the connection timeout and make use of zero-cost nonblocking mode enablement.
Local socket implementation wrappers now have accessors for their underlying implementations (os::unix::uds_local_socket::Stream::inner, os::windows::named_pipe::local_socket::Stream::inner, and so on).
A neat little tool, inspect-platform, has been added to help investigate the behavior of platforms that Interprocess has previously not been ported to.
Miscellaneous improvements to documentation and examples.
Windows
Added AsSecurityDescriptorExt::write_to_security_attributes_ptr to work around windows-sys version churn (see #84).
Unnamed pipes are now inheritable. Previously, they were documented as such, but defaulted to not being inheritable due to a typo.
os::windows::named_pipe::tokio::PipeListenerOptionsExt has been deprecated in favor of inherent methods fulfilling the same function. The deprecation warning can be fixed by simply removing the import.
Fixed panic when dropping Tokio-based Windows named pipes outside of a Tokio runtime (#71) by replacing the old "limbo" with a new linger pool, used both for sync named pipes and for Tokio ones. This new implementation is more efficient and more maintainable.
The aforementioned bug now has test coverage.
Fixed handling of dead-on-arrival conections (#86).
Unix
SpecialDirUdSocket is now deprecated due to complicated and potentially undesirable fallback behavior.
Name types for more specific special directories, such as "current user only" (/run/user/<uid>), "world-writable" (/tmp), "root-writable and world-readable" (/run) will be added in a future version.
ListenerOptionsExt::mode has been improved:
The umask fallback has been removed – the method will now return ErrorKind::Unsupported on platforms on which the mode of a Unix domain socket listener cannot be changed atomically.
The documentation now more accurately describes the behavior of non-default modes on different platforms.
set_nonblocking methods now use FIONBIO on Linux to reduce the number of system calls. Additionally, some superfluous fcntl(F_GETFL) calls have been optimized out on other platforms.
Unix domain socket address handling has been refactored to be more efficient.
NetBSD has been promoted from Support by association to Explicit support without CI.