Explorar el Código

Sleep for 30 minutes if api servers are out of service

dev
x3 hace 9 meses
padre
commit
43b2249d91
Firmado por: x3 <sugarpanning@cock.li> ID de clave GPG: 7E9961E8AD0E240E
Se han modificado 1 ficheros con 8 adiciones y 2 borrados
  1. +8
    -2
      src/api.c

+ 8
- 2
src/api.c Ver fichero

@@ -719,10 +719,16 @@ static enum error api_cmd_base_pref(char buffer[API_BUFSIZE], int send_len,
if (err == ERR_API_OOS || err == ERR_API_SRV_BUSY ||
err == ERR_API_TIMEOUT) {
struct timespec ts;
time_t wait_ms = API_TRYAGAIN_TIME;

MS_TO_TIMESPEC_L(ts, API_TRYAGAIN_TIME);
if (err == ERR_API_OOS) {
/* In this case, we should wait 30 minutes as per the wiki */
wait_ms = 30 * 60 * 1000;
}

MS_TO_TIMESPEC_L(ts, wait_ms);
retry_count++;
uio_debug("Retry after %ld ms (%d/%d)", API_TRYAGAIN_TIME,
uio_debug("Retry after %ld ms (%d/%d)", wait_ms,
retry_count, API_MAX_TRYAGAIN);
if (nanosleep(&ts, NULL) == -1) {
if (errno == EINTR && should_exit) {


Cargando…
Cancelar
Guardar