mirror of
https://github.com/caddyserver/caddy.git
synced 2025-01-22 16:46:53 +01:00
reverseproxy: Fix round robin data race (#4038)
This commit is contained in:
parent
b54fa41239
commit
ce5a0934a8
2 changed files with 4 additions and 4 deletions
|
@ -368,8 +368,8 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyht
|
|||
reqHost := r.Host
|
||||
reqHeader := r.Header
|
||||
defer func() {
|
||||
r.Host = reqHost
|
||||
r.Header = reqHeader
|
||||
r.Host = reqHost // TODO: data race, see #4038
|
||||
r.Header = reqHeader // TODO: data race, see #4038
|
||||
}()
|
||||
|
||||
start := time.Now()
|
||||
|
|
|
@ -221,8 +221,8 @@ func (r *RoundRobinSelection) Select(pool UpstreamPool, _ *http.Request, _ http.
|
|||
return nil
|
||||
}
|
||||
for i := uint32(0); i < n; i++ {
|
||||
atomic.AddUint32(&r.robin, 1)
|
||||
host := pool[r.robin%n]
|
||||
robin := atomic.AddUint32(&r.robin, 1)
|
||||
host := pool[robin%n]
|
||||
if host.Available() {
|
||||
return host
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue