浏览代码

registry: add a critical section to protect authTransport.modReq

Signed-off-by: Ziheng Liu <lzhfromustc@gmail.com>
lzhfromustc 5 年之前
父节点
当前提交
49fbb9c985
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      registry/session.go

+ 2 - 0
registry/session.go

@@ -133,7 +133,9 @@ func (tr *authTransport) RoundTrip(orig *http.Request) (*http.Response, error) {
 	}
 	}
 	resp, err := tr.RoundTripper.RoundTrip(req)
 	resp, err := tr.RoundTripper.RoundTrip(req)
 	if err != nil {
 	if err != nil {
+		tr.mu.Lock()
 		delete(tr.modReq, orig)
 		delete(tr.modReq, orig)
+		tr.mu.Unlock()
 		return nil, err
 		return nil, err
 	}
 	}
 	if len(resp.Header["X-Docker-Token"]) > 0 {
 	if len(resp.Header["X-Docker-Token"]) > 0 {