mirror of
https://github.com/transmission/transmission
synced 2025-02-23 14:40:43 +00:00
(trunk libT) when shutting down, use a shorter timeout interval for tracker announces
This commit is contained in:
parent
9d644f98cd
commit
99bb470658
1 changed files with 13 additions and 5 deletions
|
@ -133,11 +133,18 @@ getCurlProxyType( tr_proxy_type t )
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
getTimeoutFromURL( const char * url )
|
getTimeoutFromURL( const struct tr_web_task * task )
|
||||||
{
|
{
|
||||||
if( strstr( url, "scrape" ) != NULL ) return 30L;
|
long timeout;
|
||||||
if( strstr( url, "announce" ) != NULL ) return 90L;
|
const tr_session * session = task->session;
|
||||||
return 240L;
|
|
||||||
|
if( !session || session->isClosed ) timeout = 20L;
|
||||||
|
else if( strstr( task->url, "scrape" ) != NULL ) timeout = 30L;
|
||||||
|
else if( strstr( task->url, "announce" ) != NULL ) timeout = 90L;
|
||||||
|
else timeout = 240L;
|
||||||
|
|
||||||
|
fprintf( stderr, "timeout for [%s] is %ld\n", task->url, timeout );
|
||||||
|
return timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
static CURL *
|
static CURL *
|
||||||
|
@ -174,7 +181,7 @@ createEasy( tr_session * s, struct tr_web_task * task )
|
||||||
#endif
|
#endif
|
||||||
curl_easy_setopt( e, CURLOPT_SSL_VERIFYHOST, 0L );
|
curl_easy_setopt( e, CURLOPT_SSL_VERIFYHOST, 0L );
|
||||||
curl_easy_setopt( e, CURLOPT_SSL_VERIFYPEER, 0L );
|
curl_easy_setopt( e, CURLOPT_SSL_VERIFYPEER, 0L );
|
||||||
curl_easy_setopt( e, CURLOPT_TIMEOUT, getTimeoutFromURL( task->url ) );
|
curl_easy_setopt( e, CURLOPT_TIMEOUT, getTimeoutFromURL( task ) );
|
||||||
curl_easy_setopt( e, CURLOPT_URL, task->url );
|
curl_easy_setopt( e, CURLOPT_URL, task->url );
|
||||||
curl_easy_setopt( e, CURLOPT_USERAGENT, TR_NAME "/" SHORT_VERSION_STRING );
|
curl_easy_setopt( e, CURLOPT_USERAGENT, TR_NAME "/" SHORT_VERSION_STRING );
|
||||||
curl_easy_setopt( e, CURLOPT_VERBOSE, verbose );
|
curl_easy_setopt( e, CURLOPT_VERBOSE, verbose );
|
||||||
|
@ -310,6 +317,7 @@ tr_webThreadFunc( void * vsession )
|
||||||
tr_lockLock( web->taskLock );
|
tr_lockLock( web->taskLock );
|
||||||
while(( task = tr_list_pop_front( &web->tasks )))
|
while(( task = tr_list_pop_front( &web->tasks )))
|
||||||
{
|
{
|
||||||
|
dbgmsg( "adding task to curl: [%s]\n", task->url );
|
||||||
curl_multi_add_handle( multi, createEasy( session, task ));
|
curl_multi_add_handle( multi, createEasy( session, task ));
|
||||||
/*fprintf( stderr, "adding a task.. taskCount is now %d\n", taskCount );*/
|
/*fprintf( stderr, "adding a task.. taskCount is now %d\n", taskCount );*/
|
||||||
++taskCount;
|
++taskCount;
|
||||||
|
|
Loading…
Reference in a new issue