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

mendersoftware / workflows / 1565759653

29 Nov 2024 07:56AM UTC coverage: 67.786% (-14.5%) from 82.255%
1565759653

push

gitlab-ci

web-flow
Merge pull request #336 from alfrunes/2.6.x

chore(deps): Update golang builder images to latest

1050 of 1549 relevant lines covered (67.79%)

5.01 hits per line

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

0.0
/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

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

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

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

43
func (t *reusableTimer) After(d time.Duration) <-chan time.Time {
×
44
        t.Reset(d)
×
45
        return t.C
×
46
}
×
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