Skip to content

Commit c5fa108

Browse files
committed
Don't limit on the number of waiting-to-display processes
1 parent 602522b commit c5fa108

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

go.mod

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ require (
1111
github.com/pkg/term v1.2.0-beta.2
1212
github.com/shirou/gopsutil/v3 v3.23.8
1313
github.com/spf13/pflag v1.0.5
14+
golang.design/x/chann v0.1.2
1415
golang.org/x/exp v0.0.0-20230905200255-921286631fa9
1516
golang.org/x/sys v0.12.0
1617
golang.org/x/term v0.12.0
@@ -27,3 +28,6 @@ require (
2728
github.com/tklauser/numcpus v0.6.1 // indirect
2829
github.com/yusufpapurcu/wmi v1.2.3 // indirect
2930
)
31+
32+
// https://github.com/golang-design/chann/pull/5
33+
replace golang.design/x/chann v0.1.2 => github.com/amyangfei/chann v0.0.0-20230110021018-bca7d685828c

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
github.com/alessio/shellescape v1.4.2 h1:MHPfaU+ddJ0/bYWpgIeUnQUqKrlJ1S7BfEYPM4uEoM0=
22
github.com/alessio/shellescape v1.4.2/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
3+
github.com/amyangfei/chann v0.0.0-20230110021018-bca7d685828c h1:4tmBsdlMK6MWi6sgiWxazvQb2KCAyudUvq2cOg06xag=
4+
github.com/amyangfei/chann v0.0.0-20230110021018-bca7d685828c/go.mod h1:Rh5KhCAp+0qu9+FfKPymHpu8onmjl89sFwMeiw3SK14=
35
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
46
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
57
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

main.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/fatih/color"
2020
"github.com/mattn/go-isatty"
2121
"github.com/pkg/term/termios"
22+
"golang.design/x/chann"
2223
"golang.org/x/exp/slices"
2324
"golang.org/x/term"
2425
)
@@ -296,23 +297,22 @@ func main() {
296297
}
297298
}
298299

299-
// TODO: there's now basically no limit with flRecursiveProcessLimit being false
300-
processes := make(chan *ProcessResult, 32*1024)
300+
processes := chann.New[*ProcessResult]()
301301
go func() {
302-
defer close(processes)
302+
defer processes.Close()
303303

304304
if *flQueueWait {
305-
startProcessesFromQueue(processes)
305+
startProcessesFromQueue(processes.In())
306306
return
307307
}
308308

309309
if args.hasTripleColon {
310-
startProcessesFromCliArguments(args, processes)
310+
startProcessesFromCliArguments(args, processes.In())
311311
}
312312
if *flFromStdin {
313-
startProcessesFromStdin(args, processes)
313+
startProcessesFromStdin(args, processes.In())
314314
}
315315
}()
316316

317-
os.Exit(displaySequentially(processes))
317+
os.Exit(displaySequentially(processes.Out()))
318318
}

0 commit comments

Comments
 (0)