MCPcopy
hub / github.com/subtrace/subtrace / waitProcess

Method waitProcess

cmd/run/engine/engine.go:160–175  ·  view source on GitHub ↗
(p *process.Process)

Source from the content-addressed store, hash-verified

158}
159
160func (e *Engine) waitProcess(p *process.Process) {
161 if err := p.Wait(); err != nil {
162 slog.Error("failed to wait for process", "proc", p, "err", err)
163 return
164 }
165
166 e.mu.Lock()
167 defer e.mu.Unlock()
168 delete(e.processes, p.PID)
169 if len(e.processes) == 0 {
170 if err := e.closeLocked(); err != nil {
171 slog.Error("failed to close engine after all processes exited", "err", err)
172 }
173 slog.Debug("closed engine after all processes exited")
174 }
175}
176
177func (e *Engine) getProcessFast(pid int) *process.Process {
178 e.mu.RLock()

Callers 2

NewFunction · 0.95
ensureProcessLockedMethod · 0.95

Calls 3

closeLockedMethod · 0.95
LockMethod · 0.80
WaitMethod · 0.45

Tested by

no test coverage detected