aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2024-03-20 11:48:52 +0100
committerAleksandr Nogikh <nogikh@google.com>2024-03-25 13:12:00 +0000
commit4e85c7bea71a67df03d1dc80f78751637eec1aff (patch)
treec21cb8abfceef4b8b83e39a21de6c2b5f2285a6e /pkg
parent1521e9d81d291500b948115f1ec41a8fdb675e52 (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.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/signal/signal.go6
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 {