mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #38530 from SUSE/fix-config-segfault
Fix possible segfault in config reload
This commit is contained in:
commit
f25972151b
1 changed files with 10 additions and 9 deletions
|
@ -84,25 +84,26 @@ func (daemon *Daemon) reloadDebug(conf *config.Config, attributes map[string]str
|
||||||
func (daemon *Daemon) reloadMaxConcurrentDownloadsAndUploads(conf *config.Config, attributes map[string]string) {
|
func (daemon *Daemon) reloadMaxConcurrentDownloadsAndUploads(conf *config.Config, attributes map[string]string) {
|
||||||
// If no value is set for max-concurrent-downloads we assume it is the default value
|
// If no value is set for max-concurrent-downloads we assume it is the default value
|
||||||
// We always "reset" as the cost is lightweight and easy to maintain.
|
// We always "reset" as the cost is lightweight and easy to maintain.
|
||||||
|
maxConcurrentDownloads := config.DefaultMaxConcurrentDownloads
|
||||||
if conf.IsValueSet("max-concurrent-downloads") && conf.MaxConcurrentDownloads != nil {
|
if conf.IsValueSet("max-concurrent-downloads") && conf.MaxConcurrentDownloads != nil {
|
||||||
*daemon.configStore.MaxConcurrentDownloads = *conf.MaxConcurrentDownloads
|
maxConcurrentDownloads = *conf.MaxConcurrentDownloads
|
||||||
} else {
|
|
||||||
maxConcurrentDownloads := config.DefaultMaxConcurrentDownloads
|
|
||||||
daemon.configStore.MaxConcurrentDownloads = &maxConcurrentDownloads
|
|
||||||
}
|
}
|
||||||
|
daemon.configStore.MaxConcurrentDownloads = &maxConcurrentDownloads
|
||||||
logrus.Debugf("Reset Max Concurrent Downloads: %d", *daemon.configStore.MaxConcurrentDownloads)
|
logrus.Debugf("Reset Max Concurrent Downloads: %d", *daemon.configStore.MaxConcurrentDownloads)
|
||||||
|
|
||||||
// If no value is set for max-concurrent-upload we assume it is the default value
|
// If no value is set for max-concurrent-upload we assume it is the default value
|
||||||
// We always "reset" as the cost is lightweight and easy to maintain.
|
// We always "reset" as the cost is lightweight and easy to maintain.
|
||||||
|
maxConcurrentUploads := config.DefaultMaxConcurrentUploads
|
||||||
if conf.IsValueSet("max-concurrent-uploads") && conf.MaxConcurrentUploads != nil {
|
if conf.IsValueSet("max-concurrent-uploads") && conf.MaxConcurrentUploads != nil {
|
||||||
*daemon.configStore.MaxConcurrentUploads = *conf.MaxConcurrentUploads
|
maxConcurrentUploads = *conf.MaxConcurrentUploads
|
||||||
} else {
|
|
||||||
maxConcurrentUploads := config.DefaultMaxConcurrentUploads
|
|
||||||
daemon.configStore.MaxConcurrentUploads = &maxConcurrentUploads
|
|
||||||
}
|
}
|
||||||
|
daemon.configStore.MaxConcurrentUploads = &maxConcurrentUploads
|
||||||
logrus.Debugf("Reset Max Concurrent Uploads: %d", *daemon.configStore.MaxConcurrentUploads)
|
logrus.Debugf("Reset Max Concurrent Uploads: %d", *daemon.configStore.MaxConcurrentUploads)
|
||||||
|
|
||||||
daemon.imageService.UpdateConfig(conf.MaxConcurrentDownloads, conf.MaxConcurrentUploads)
|
if daemon.imageService != nil {
|
||||||
|
daemon.imageService.UpdateConfig(&maxConcurrentDownloads, &maxConcurrentUploads)
|
||||||
|
}
|
||||||
|
|
||||||
// prepare reload event attributes with updatable configurations
|
// prepare reload event attributes with updatable configurations
|
||||||
attributes["max-concurrent-downloads"] = fmt.Sprintf("%d", *daemon.configStore.MaxConcurrentDownloads)
|
attributes["max-concurrent-downloads"] = fmt.Sprintf("%d", *daemon.configStore.MaxConcurrentDownloads)
|
||||||
// prepare reload event attributes with updatable configurations
|
// prepare reload event attributes with updatable configurations
|
||||||
|
|
Loading…
Add table
Reference in a new issue