mirror of
https://github.com/transmission/transmission
synced 2025-03-20 02:35:43 +00:00
Should fix a race condition
This commit is contained in:
parent
f256fa2cce
commit
7449c80d67
3 changed files with 17 additions and 16 deletions
|
@ -667,20 +667,20 @@ int tr_trackerScrape( tr_torrent_t * tor, int * seeders, int * leechers )
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int tr_trackerSeeders( tr_torrent_t * tor)
|
int tr_trackerSeeders( tr_tracker_t * tc )
|
||||||
{
|
{
|
||||||
if (tor->status != TR_STATUS_PAUSE)
|
if( !tc )
|
||||||
{
|
{
|
||||||
return (tor->tracker)->seeders;
|
return -1;
|
||||||
}
|
}
|
||||||
return 0;
|
return tc->seeders;
|
||||||
}
|
}
|
||||||
|
|
||||||
int tr_trackerLeechers( tr_torrent_t * tor)
|
int tr_trackerLeechers( tr_tracker_t * tc )
|
||||||
{
|
{
|
||||||
if (tor->status != TR_STATUS_PAUSE)
|
if( !tc )
|
||||||
{
|
{
|
||||||
return (tor->tracker)->leechers;
|
return -1;
|
||||||
}
|
}
|
||||||
return 0;
|
return tc->leechers;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,14 +37,14 @@ void tr_trackerClose ( tr_tracker_t * );
|
||||||
***********************************************************************
|
***********************************************************************
|
||||||
* Looks for the seeders/leechers as returned by the tracker.
|
* Looks for the seeders/leechers as returned by the tracker.
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
int tr_trackerSeeders ( tr_torrent_t * );
|
int tr_trackerSeeders ( tr_tracker_t * );
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* tr_trackerLeechers
|
* tr_trackerLeechers
|
||||||
***********************************************************************
|
***********************************************************************
|
||||||
* Looks for the seeders/leechers as returned by the tracker.
|
* Looks for the seeders/leechers as returned by the tracker.
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
int tr_trackerLeechers ( tr_torrent_t * );
|
int tr_trackerLeechers ( tr_tracker_t * );
|
||||||
|
|
||||||
int tr_trackerScrape ( tr_torrent_t *, int *, int * );
|
int tr_trackerScrape ( tr_torrent_t *, int *, int * );
|
||||||
|
|
||||||
|
|
|
@ -331,6 +331,7 @@ static void torrentReallyStop( tr_torrent_t * tor )
|
||||||
tr_dbg( "Thread joined" );
|
tr_dbg( "Thread joined" );
|
||||||
|
|
||||||
tr_trackerClose( tor->tracker );
|
tr_trackerClose( tor->tracker );
|
||||||
|
tor->tracker = NULL;
|
||||||
|
|
||||||
while( tor->peerCount > 0 )
|
while( tor->peerCount > 0 )
|
||||||
{
|
{
|
||||||
|
@ -422,8 +423,8 @@ tr_stat_t * tr_torrentStat( tr_torrent_t * tor )
|
||||||
s->rateDownload = 0.0;
|
s->rateDownload = 0.0;
|
||||||
s->rateUpload = tr_rcRate( tor->upload );
|
s->rateUpload = tr_rcRate( tor->upload );
|
||||||
|
|
||||||
s->seeders = tr_trackerSeeders(tor);
|
s->seeders = tr_trackerSeeders(tor->tracker);
|
||||||
s->leechers = tr_trackerLeechers(tor);
|
s->leechers = tr_trackerLeechers(tor->tracker);
|
||||||
|
|
||||||
if( s->rateDownload < 0.1 )
|
if( s->rateDownload < 0.1 )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue