Skip to content

implement std.Progress IPC for Windows #20105

Open

Description

@andrewrk

Extracted from #20059.

Currently, on Windows, std.Progress is implemented for the root process that owns the terminal, however it is not able to collect progress information from the child processes that it spawns.

This issue can be closed when child processes using std.Progress on Windows communicate their progress to parent processes.

A simple way to test this would be adapting this example to also work on Windows:

https://gist.github.com/andrewrk/b22b4f663cef6b4672d7097de95ea343

For POSIX systems this is implemented by a dedicated pipe file descriptor that is passed from parent to child, much like stdio streams. It should be possible to do something equivalent on Windows.

Activity

  1. added
    enhancementSolving this issue will likely involve adding new logic or components to the codebase.
    contributor friendlyThis issue is limited in scope and/or knowledge of Zig internals.
    standard libraryThis issue involves writing Zig code for the standard library.
    on May 29, 2024
  2. added this to the 0.14.0 milestone on May 29, 2024
  3. modified the milestones: 0.14.0, 0.15.0 on Feb 9, 2025
  4. modified the milestones: urgent, upcoming on Jun 26, 2025
  5. mlugg commented on Aug 13, 2025

    @mlugg
    Member

    Another easy way to test this is simply to use the Zig build system to compile some Zig code. Once the build is running, you should see a bunch of progress output from the Zig compiler about individual declarations being analyzed / codegenned / linked, but on Windows today you'll just see one progress node representing the entire Compile step:
    Image

  6. ebezault commented on Sep 19, 2025

    @ebezault

    I'm using 0.15.1 on Windows. Has ZIG_PROGRESS been implemented on this platform? When set, it stops displaying progress on the console, but it looks like the parent process receives nothing on the corresponding pipe file descriptor.

    I'm happy to beta test experimental implementations if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    contributor friendlyThis issue is limited in scope and/or knowledge of Zig internals.enhancementSolving this issue will likely involve adding new logic or components to the codebase.os-windowsMicrosoft Windowsstandard libraryThis issue involves writing Zig code for the standard library.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions