private ChildProcess SpawnNewProcess() { var ipcClient = new NamedPipesClient(); var childProcess = new ChildProcess(ipcClient); childProcess.Start(); return(childProcess); }
private ChildProcess SpawnNewProcess() { var ipcClient = new NamedPipesClient(); var requestResponseClent = new NamedPipesRequestResponseClient(ipcClient); var childProcess = new ChildProcess(requestResponseClent); childProcess.Start(); return(childProcess); }
public void Reclaim(ChildProcess childProcess) { if (childProcess.HasExited) { return; } lock (_lock) { _freeProcesses.Enqueue(childProcess); } }
public ChildProcessLease(ChildProcessPool pool, ChildProcess childProcess) { _pool = pool ?? throw new ArgumentNullException(nameof(pool)); ChildProcess = childProcess ?? throw new ArgumentNullException(nameof(childProcess)); }