(ctx context.Context, proc ShellProcessController)
| 104 | } |
| 105 | |
| 106 | func ProcessContextWait(ctx context.Context, proc ShellProcessController) error { |
| 107 | done := make(chan error, 1) |
| 108 | go func() { |
| 109 | done <- proc.Wait() |
| 110 | }() |
| 111 | |
| 112 | select { |
| 113 | case <-ctx.Done(): |
| 114 | proc.Kill() |
| 115 | return ctx.Err() |
| 116 | case err := <-done: |
| 117 | return err |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | func MakeStdoutSyncBuffer(proc ShellProcessController) (*syncbuf.SyncBuffer, error) { |
| 122 | stdout, err := proc.StdoutPipe() |
no test coverage detected