Ronald Oussoren added the comment:
Without having looked at this issue in detail...
This looks like an issue with macOS and not Python. In general API's providing
access to system calls are just thin wrappers around those system calls. If
this is a bug in macOS there's nothing we can do
New submission from Sam Harding :
The behaviour of select.poll() is inconsistent across MacOS versions, on MacOS
Mojave (10.14.6) registering and polling the receiving channel of
mp.Pipe(duplex=False) returns the event POLLOUT (ready to write to). This is
verified by a colleagues setup.