diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2024-03-20 11:48:52 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2024-03-25 13:12:00 +0000 |
| commit | 4e85c7bea71a67df03d1dc80f78751637eec1aff (patch) | |
| tree | c21cb8abfceef4b8b83e39a21de6c2b5f2285a6e | |
| parent | 1521e9d81d291500b948115f1ec41a8fdb675e52 (diff) | |
pkg/signal: optimize Split()
If all signal is to be returned to the caller, there's no sense in
deleting it from the original map. Just swap it.
| -rw-r--r-- | pkg/signal/signal.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pkg/signal/signal.go b/pkg/signal/signal.go index 86c4a4ab9..7a2a8bd16 100644 --- a/pkg/signal/signal.go +++ b/pkg/signal/signal.go @@ -33,8 +33,10 @@ func (s Signal) Copy() Signal { } func (s *Signal) Split(n int) Signal { - if s.Empty() { - return nil + if n >= s.Len() { + ret := *s + *s = nil + return ret } c := make(Signal, n) for e, p := range *s { |
