Skip to content

dragonfly: parent process does not receive POLLHUP events #8724

@mikdusan

Description

@mikdusan

In working towards porting to dragonfly, zig.exe fails right out the gate because it cannot fork/exec and capture stdout/stderr. The defacto probe to learn about host libc_installation such as cc -E -Wp,-v -xc /dev/null hangs.

This appears to be an upstream issue. The code converted to .c works for linux, macos, freebsd, netbsd, openbsd and not for dragonfly.

EDIT:
With merge of #8730 we have a comptime-workaround for dragonfly POLLHUP bug manifesting in collectOutputPosix() and that should be adequate. In the future we can revisit and add a runtime-version-detection of dragonfly to enable a workaround for dfly version > 6.0 . But the cost of this runtime-detection seems more expensive (still cheap though) than always using a workaround, so I'm backtracking because NOT-WORTH-IT and no longer find it necessary to have a versioned workaround.

Metadata

Metadata

Assignees

No one assigned

    Labels

    os-dragonflyupstreamAn issue with a third party project that Zig uses.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions