As it currently stands, the _program function in src/ninja/__init__.py uses subprocess.call. When used via the ninja main, it merely waits for the exit-code and then propagates it as its own. This is ...