Fix race in Statistics

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
This commit is contained in:
Alexander Morozov 2016-02-29 09:45:15 -08:00
parent 2ffd4a9011
commit 0eb01bbbee

View file

@ -142,12 +142,15 @@ func (sb *sandbox) Labels() map[string]interface{} {
func (sb *sandbox) Statistics() (map[string]*types.InterfaceStatistics, error) {
m := make(map[string]*types.InterfaceStatistics)
if sb.osSbox == nil {
sb.Lock()
osb := sb.osSbox
sb.Unlock()
if osb == nil {
return m, nil
}
var err error
for _, i := range sb.osSbox.Info().Interfaces() {
for _, i := range osb.Info().Interfaces() {
if m[i.DstName()], err = i.Statistics(); err != nil {
return m, err
}