g_pollable_output_stream_write_nonblocking() can block on GUnixOutputStream
See !333 (comment 401647) for context and a test.
The problem is basically that:
a) the fd is writable (so g_pollable_output_stream_is_writable()
returns TRUE
and we don't return WOULD_BLOCK
).
b) writing more than the buffer (in this case the capacity of the pipe) will block because writes are atomic (either all or nothing is written)
c) the fd is blocking
When changing the fd to non-blocking mode everything works as expected but this is not documented.