From: Charles Kerr Date: Thu, 21 Aug 2008 20:18:34 +0000 (+0000) Subject: maybe fix m1b's tracker issue X-Git-Tag: 1.40~437 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3df44dad3dc4a1511a9321dfde7016e443b50323;p=transmission maybe fix m1b's tracker issue --- diff --git a/libtransmission/tracker.c b/libtransmission/tracker.c index 38c252517..5d3d934c4 100644 --- a/libtransmission/tracker.c +++ b/libtransmission/tracker.c @@ -107,6 +107,8 @@ struct tr_tracker time_t manualAnnounceAllowedAt; time_t reannounceAt; + + /* 0==never, 1==in progress, other values==when to scrape */ time_t scrapeAt; time_t lastScrapeTime; @@ -717,9 +719,6 @@ invokeRequest( void * vreq ) t->lastAnnounceTime = now; t->reannounceAt = 1; t->manualAnnounceAllowedAt = 1; - t->scrapeAt = req->reqtype == TR_REQ_STOPPED - ? now + t->scrapeIntervalSec + t->randOffset - : 0; } } @@ -731,13 +730,10 @@ invokeRequest( void * vreq ) freeRequest( req ); } -static void ensureGlobalsExist( tr_session * ); - static void enqueueScrape( tr_session * session, tr_tracker * tracker ) { struct tr_tracker_request * req; - ensureGlobalsExist( session ); req = createScrape( session, tracker ); tr_runInEventThread( session, invokeRequest, req ); } @@ -746,7 +742,6 @@ static void enqueueRequest( tr_session * session, tr_tracker * tracker, int reqtype ) { struct tr_tracker_request * req; - ensureGlobalsExist( session ); req = createRequest( session, tracker, reqtype ); tr_runInEventThread( session, invokeRequest, req ); } @@ -857,6 +852,8 @@ tr_trackerNew( const tr_torrent * torrent ) const tr_info * info = &torrent->info; tr_tracker * t; + ensureGlobalsExist( torrent->handle ); + t = tr_new0( tr_tracker, 1 ); t->publisher = tr_publisherNew( ); t->session = torrent->handle;