remote: avoid signal names map on init

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi 2024-07-15 15:45:09 -07:00
parent 52bb668085
commit 96509847b9
No known key found for this signature in database
GPG Key ID: AFA9DE5F8AB7AF39
1 changed files with 6 additions and 5 deletions

View File

@ -207,6 +207,7 @@ func attachIO(ctx context.Context, stream msgStream, initMessage *pb.InitMessage
if cfg.signal != nil { if cfg.signal != nil {
eg.Go(func() error { eg.Go(func() error {
names := signalNames()
for { for {
var sig syscall.Signal var sig syscall.Signal
select { select {
@ -216,7 +217,7 @@ func attachIO(ctx context.Context, stream msgStream, initMessage *pb.InitMessage
case <-ctx.Done(): case <-ctx.Done():
return nil return nil
} }
name := sigToName[sig] name := names[sig]
if name == "" { if name == "" {
continue continue
} }
@ -380,12 +381,12 @@ func copyToStream(fd uint32, snd msgStream, r io.Reader) error {
}) })
} }
var sigToName = map[syscall.Signal]string{} func signalNames() map[syscall.Signal]string {
m := make(map[syscall.Signal]string, len(signal.SignalMap))
func init() {
for name, value := range signal.SignalMap { for name, value := range signal.SignalMap {
sigToName[value] = name m[value] = name
} }
return m
} }
type debugStream struct { type debugStream struct {