1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

vweb,net: just log errors in accept() instead of panic-ing, add time.sleep(1ms) after each retry in select (#10489)

This commit is contained in:
Tomas Hellström
2021-06-17 09:41:26 +02:00
committed by GitHub
parent c2a7a84c72
commit 46eb6befd5
2 changed files with 10 additions and 3 deletions

View File

@ -71,11 +71,14 @@ fn @select(handle int, test Select, timeout time.Duration) ?bool {
// collection
[inline]
fn select_with_retry(handle int, test Select, timeout time.Duration) ?bool {
mut retries := 3
mut retries := 10
for retries > 0 {
ready := @select(handle, test, timeout) or {
if err.code == 4 {
// signal! lets retry max 3 times
// signal! lets retry max 10 times
// suspend thread with sleep to let the gc get
// cycles in the case the Bohem gc is interupting
time.sleep(1 * time.millisecond)
retries -= 1
continue
}