| 270 | conn: IPCClient |
| 271 | |
| 272 | def __init__(self, status_file: str, options_data: str, env: Mapping[str, str]) -> None: |
| 273 | self.status_file = status_file |
| 274 | if os.path.isfile(status_file): |
| 275 | os.unlink(status_file) |
| 276 | |
| 277 | command = [ |
| 278 | sys.executable, |
| 279 | "-m", |
| 280 | "mypy.build_worker", |
| 281 | f"--status-file={status_file}", |
| 282 | f"--options-data={options_data}", |
| 283 | ] |
| 284 | # Return early without waiting, caller must call connect() before using the client. |
| 285 | self.proc = subprocess.Popen(command, env=env) |
| 286 | self.connected = False |
| 287 | |
| 288 | def connect(self) -> None: |
| 289 | end_time = time.time() + WORKER_START_TIMEOUT |