Update dependencies. (#13778)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
1a82e3e575
Коммит
d7206d2ede
12
vendor/github.com/oklog/run/.travis.yml
сгенерированный
поставляемый
12
vendor/github.com/oklog/run/.travis.yml
сгенерированный
поставляемый
@@ -1,12 +0,0 @@
|
||||
language: go
|
||||
sudo: false
|
||||
go:
|
||||
- 1.x
|
||||
- tip
|
||||
install:
|
||||
- go get -v github.com/golang/lint/golint
|
||||
- go build ./...
|
||||
script:
|
||||
- go vet ./...
|
||||
- $HOME/gopath/bin/golint .
|
||||
- go test -v -race ./...
|
||||
10
vendor/github.com/oklog/run/README.md
сгенерированный
поставляемый
10
vendor/github.com/oklog/run/README.md
сгенерированный
поставляемый
@@ -1,7 +1,7 @@
|
||||
# run
|
||||
|
||||
[](https://godoc.org/github.com/oklog/run)
|
||||
[](https://travis-ci.org/oklog/run)
|
||||
[](https://github.com/oklog/run/actions?query=workflow%3ATest)
|
||||
[](https://goreportcard.com/report/github.com/oklog/run)
|
||||
[](https://raw.githubusercontent.com/oklog/run/master/LICENSE)
|
||||
|
||||
@@ -10,9 +10,11 @@ run.Group is a universal mechanism to manage goroutine lifecycles.
|
||||
Create a zero-value run.Group, and then add actors to it. Actors are defined as
|
||||
a pair of functions: an **execute** function, which should run synchronously;
|
||||
and an **interrupt** function, which, when invoked, should cause the execute
|
||||
function to return. Finally, invoke Run, which blocks until the first actor
|
||||
returns. This general-purpose API allows callers to model pretty much any
|
||||
runnable task, and achieve well-defined lifecycle semantics for the group.
|
||||
function to return. Finally, invoke Run, which concurrently runs all of the
|
||||
actors, waits until the first actor exits, invokes the interrupt functions, and
|
||||
finally returns control to the caller only once all actors have returned. This
|
||||
general-purpose API allows callers to model pretty much any runnable task, and
|
||||
achieve well-defined lifecycle semantics for the group.
|
||||
|
||||
run.Group was written to manage component lifecycles in func main for
|
||||
[OK Log](https://github.com/oklog/oklog).
|
||||
|
||||
38
vendor/github.com/oklog/run/actors.go
сгенерированный
поставляемый
Обычный файл
38
vendor/github.com/oklog/run/actors.go
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,38 @@
|
||||
package run
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
)
|
||||
|
||||
// SignalHandler returns an actor, i.e. an execute and interrupt func, that
|
||||
// terminates with SignalError when the process receives one of the provided
|
||||
// signals, or the parent context is canceled.
|
||||
func SignalHandler(ctx context.Context, signals ...os.Signal) (execute func() error, interrupt func(error)) {
|
||||
ctx, cancel := context.WithCancel(ctx)
|
||||
return func() error {
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, signals...)
|
||||
select {
|
||||
case sig := <-c:
|
||||
return SignalError{Signal: sig}
|
||||
case <-ctx.Done():
|
||||
return ctx.Err()
|
||||
}
|
||||
}, func(error) {
|
||||
cancel()
|
||||
}
|
||||
}
|
||||
|
||||
// SignalError is returned by the signal handler's execute function
|
||||
// when it terminates due to a received signal.
|
||||
type SignalError struct {
|
||||
Signal os.Signal
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e SignalError) Error() string {
|
||||
return fmt.Sprintf("received signal %s", e.Signal)
|
||||
}
|
||||
3
vendor/github.com/oklog/run/go.mod
сгенерированный
поставляемый
Обычный файл
3
vendor/github.com/oklog/run/go.mod
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,3 @@
|
||||
module github.com/oklog/run
|
||||
|
||||
go 1.13
|
||||
Ссылка в новой задаче
Block a user