mirror of https://github.com/XTLS/Xray-core
TimeoutWrapperReader: Fix latency issue
Pre-released for 2 days and no one had ever noticed this issue until today : (pull/5080/head
parent
6830089d3c
commit
fd54b10d97
|
@ -54,12 +54,16 @@ func (r *TimeoutWrapperReader) ReadMultiBufferTimeout(duration time.Duration) (M
|
||||||
close(r.done)
|
close(r.done)
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
time.Sleep(duration)
|
timeout := make(chan struct{})
|
||||||
|
go func() {
|
||||||
|
time.Sleep(duration)
|
||||||
|
close(timeout)
|
||||||
|
}()
|
||||||
select {
|
select {
|
||||||
case <-r.done:
|
case <-r.done:
|
||||||
r.done = nil
|
r.done = nil
|
||||||
return r.mb, r.err
|
return r.mb, r.err
|
||||||
default:
|
case <-timeout:
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue