From 2067cc32ddadde5453ff49568c640a32e627a3a5 Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Mon, 15 Sep 2014 10:55:57 -0700 Subject: [PATCH] agent: Fixing issue with multiple watches. Fixes #337 --- CHANGELOG.md | 7 +++++++ command/agent/command.go | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8adb0235f..7b8d261b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.4.1 (Unreleased) + +BUG FIXES: + + * Fixing only a single watch being run by an agent [GH-337] + * Fixing potential race in connection multiplexing + ## 0.4.0 (September 5, 2014) FEATURES: diff --git a/command/agent/command.go b/command/agent/command.go index 8058bfb0a..c096aac3b 100644 --- a/command/agent/command.go +++ b/command/agent/command.go @@ -464,13 +464,13 @@ func (c *Command) Run(args []string) int { // Register the watches for _, wp := range config.WatchPlans { - go func() { + go func(wp *watch.WatchPlan) { wp.Handler = makeWatchHandler(logOutput, wp.Exempt["handler"]) wp.LogOutput = c.logOutput if err := wp.Run(httpAddr); err != nil { c.Ui.Error(fmt.Sprintf("Error running watch: %v", err)) } - }() + }(wp) } // Let the agent know we've finished registration @@ -627,13 +627,13 @@ func (c *Command) handleReload(config *Config) *Config { // Register the new watches for _, wp := range newConf.WatchPlans { - go func() { + go func(wp *watch.WatchPlan) { wp.Handler = makeWatchHandler(c.logOutput, wp.Exempt["handler"]) wp.LogOutput = c.logOutput if err := wp.Run(httpAddr); err != nil { c.Ui.Error(fmt.Sprintf("Error running watch: %v", err)) } - }() + }(wp) } return newConf