Procházet zdrojové kódy

Fix bug in get_op. Increase the tracker error counter, and reduce the timeout

for trying the next url, for url's that we can't use. The timeout is in this
case just there to keep btpd from busy looping on a bad url.
master
Richard Nyberg před 18 roky
rodič
revize
eeb9d252e1
1 změnil soubory, kde provedl 6 přidání a 5 odebrání
  1. +6
    -5
      btpd/tracker_req.c

+ 6
- 5
btpd/tracker_req.c Zobrazit soubor

@@ -80,11 +80,11 @@ next_url(struct tracker *tr)
struct tr_op *
get_op(struct tracker *tr)
{
struct tr_op *op;
struct tr_op **opp;
char *url = get_url(tr);
for (op = m_tr_ops[0]; op != NULL; op++)
if (strncasecmp(op->scheme, url, op->len) == 0)
return op;
for (opp = m_tr_ops; *opp != NULL; opp++)
if (strncasecmp((*opp)->scheme, url, (*opp)->len) == 0)
return *opp;
return NULL;
}

@@ -118,8 +118,9 @@ tr_send(struct torrent *tp, enum tr_event event)
if ((op == NULL ||
(tr->req = op->request(tp, event, get_url(tr))) == NULL)) {
next_url(tr);
tr->nerrors++;
tr->ttype = TIMER_RETRY;
btpd_ev_add(&tr->timer, (& (struct timeval) { 20, 0 }));
btpd_ev_add(&tr->timer, (& (struct timeval) { 5, 0 }));
} else {
m_tlast_req = btpd_seconds;
tr->ttype = TIMER_TIMEOUT;


Načítá se…
Zrušit
Uložit