Fix the daemon panic on consul server restart

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
This commit is contained in:
Santhosh Manohar 2015-10-04 07:42:59 -07:00
parent 2509014be8
commit 4df4ba70ca
1 changed files with 7 additions and 0 deletions

View File

@ -265,6 +265,13 @@ func (ds *datastore) Watch(kvObject KVObject, stopCh <-chan struct{}) (<-chan KV
close(sCh)
return
case kvPair := <-kvpCh:
// If the backend KV store gets reset libkv's go routine
// for the watch can exit resulting in a nil value in
// channel.
if kvPair == nil {
close(sCh)
return
}
dstO := ctor.New()
if err := dstO.SetValue(kvPair.Value); err != nil {