Skip to content

Use async-friendly Process execution in SPMBuildSystem #6

@obj-p

Description

@obj-p

SPMBuildSystem.runProcess() and Compiler.run() both use Process.waitUntilExit() which blocks the actor's cooperative thread. This is pre-existing in Compiler but more impactful in SPMBuildSystem where swift build can run for seconds.

Replace with process.terminationHandler + withCheckedContinuation to avoid blocking cooperative threads during long builds.

Low priority — the current approach works fine in practice since actor re-entrancy isn't an issue for these sequential build operations.

Identified in PR #3 review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions