Refactor to embed gocontext.Context into aptly context

This commit is contained in:
Andrey Smirnov
2017-11-30 23:44:04 +03:00
parent 15618c8ea8
commit b7490fe909
2 changed files with 7 additions and 15 deletions

View File

@@ -136,7 +136,7 @@ func aptlyMirrorUpdate(cmd *commander.Command, args []string) error {
for idx := range queue {
select {
case downloadQueue <- idx:
case <-context.GoContext().Done():
case <-context.Done():
return
}
}
@@ -169,7 +169,7 @@ func aptlyMirrorUpdate(cmd *commander.Command, args []string) error {
// download file...
e = context.Downloader().DownloadWithChecksum(
context.GoContext(),
context,
repo.PackageURL(task.File.DownloadURL()).String(),
task.TempDownPath,
&task.File.Checksums,
@@ -181,7 +181,7 @@ func aptlyMirrorUpdate(cmd *commander.Command, args []string) error {
}
task.Done = true
case <-context.GoContext().Done():
case <-context.Done():
return
}
}
@@ -227,7 +227,7 @@ func aptlyMirrorUpdate(cmd *commander.Command, args []string) error {
context.Progress().ShutdownBar()
select {
case <-context.GoContext().Done():
case <-context.Done():
return fmt.Errorf("unable to update: interrupted")
default:
}

View File

@@ -32,7 +32,7 @@ import (
type AptlyContext struct {
sync.Mutex
ctx gocontext.Context
gocontext.Context
flags, globalFlags *flag.FlagSet
configLoaded bool
@@ -442,14 +442,6 @@ func (context *AptlyContext) GlobalFlags() *flag.FlagSet {
return context.globalFlags
}
// GoContext returns instance of Go context.Context for the current session
func (context *AptlyContext) GoContext() gocontext.Context {
context.Lock()
defer context.Unlock()
return context.ctx
}
// GoContextHandleSignals upgrades context to handle ^C by aborting context
func (context *AptlyContext) GoContextHandleSignals() {
context.Lock()
@@ -461,7 +453,7 @@ func (context *AptlyContext) GoContextHandleSignals() {
var cancel gocontext.CancelFunc
context.ctx, cancel = gocontext.WithCancel(context.ctx)
context.Context, cancel = gocontext.WithCancel(context.Context)
go func() {
<-sigch
@@ -527,7 +519,7 @@ func NewContext(flags *flag.FlagSet) (*AptlyContext, error) {
flags: flags,
globalFlags: flags,
dependencyOptions: -1,
ctx: gocontext.TODO(),
Context: gocontext.TODO(),
publishedStorages: map[string]aptly.PublishedStorage{},
}