Module: IO
Description
dist/IO/t/io_unix.t currently skips all tests on Windows, but AF_UNIX is supported on Win 10 from the 1803 release:
https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
https://devblogs.microsoft.com/commandline/windows10v1803/
https://blogs.msdn.microsoft.com/commandline/2018/02/07/windowswsl-interop-with-af_unix/
io_unix.t passes on a recent enough version of Win 10, using Strawberry 5.30.1, if:
$can_fork
is copied in from io_sock.t (i.e. threads be used to emulate fork)(! $Config{'d_fork'})
is changed to (! $can_fork)
Suggested Enhancement
Suggested Next Step
io_unix.t currently tests whether IO::Socket::pack_sockaddr_un('/foo/bar')
dies. It might be that it will die on versions of Windows that don't support AF_INET, but I don't have an older version of Windows readily to hand. If anyone does, please could they test this out?
Complications?
This functionality is supplied by a pluggable kernel driver, afunix.sys. It's not impossible that the driver could be disabled, e.g. in a hardened build.
Not sure of the best way to check for that, but one way would be to check for the presence of HKLM\SYSTEM\CurrentControlSet\Services\afunix
and if it exists, check the value of Start. (0x1, SERVICE_SYSTEM_START, is the default.) Tests could be skipped if any of the following is true:
Perl configuration
Standard Strawberry Perl v5.30.x build with threading.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4