• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / workflows / 1329047123

27 May 2024 12:00PM UTC coverage: 82.689%. First build
1329047123

push

gitlab-ci

web-flow
Merge pull request #324 from alfrunes/2.5.x

Backport #318 (MEN-7214) to 2.5.x

0 of 174 new or added lines in 3 files covered. (0.0%)

1605 of 1941 relevant lines covered (82.69%)

14.56 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

94.44
/app/worker/timer.go
1
// Copyright 2022 Northern.tech AS
2
//
3
//    Licensed under the Apache License, Version 2.0 (the "License");
4
//    you may not use this file except in compliance with the License.
5
//    You may obtain a copy of the License at
6
//
7
//        http://www.apache.org/licenses/LICENSE-2.0
8
//
9
//    Unless required by applicable law or agreed to in writing, software
10
//    distributed under the License is distributed on an "AS IS" BASIS,
11
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//    See the License for the specific language governing permissions and
13
//    limitations under the License.
14

15
package worker
16

17
import "time"
18

19
// reusableTimer allows using the time.After interface without reallocations.
20
type reusableTimer time.Timer
21

NEW
22
func newStoppedTimer() *reusableTimer {
20✔
NEW
23
        t := (*reusableTimer)(time.NewTimer(0))
20✔
NEW
24
        t.Stop()
20✔
NEW
25
        return t
20✔
NEW
26
}
20✔
27

28
// Stop ensures that the timer is stopped and the channel is cleared.
NEW
29
func (t *reusableTimer) Stop() {
59✔
NEW
30
        if (*time.Timer)(t).Stop() {
97✔
NEW
31
                select {
38✔
NEW
32
                case <-t.C:
×
NEW
33
                default:
38✔
34
                }
35
        }
36
}
37

NEW
38
func (t *reusableTimer) Reset(d time.Duration) {
29✔
NEW
39
        t.Stop()
29✔
NEW
40
        (*time.Timer)(t).Reset(d)
29✔
NEW
41
}
29✔
42

NEW
43
func (t *reusableTimer) After(d time.Duration) <-chan time.Time {
20✔
NEW
44
        t.Reset(d)
20✔
NEW
45
        return t.C
20✔
46
}
20✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc