Changeset 10535
- Timestamp:
- Apr 28, 2010, 12:32:43 AM (13 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/session.c
r10511 r10535 719 719 b.socket = -1; 720 720 session->public_ipv4 = tr_memdup( &b, sizeof( struct tr_bindinfo ) ); 721 tr_webSetInterface( session, &session->public_ipv4->addr );722 721 723 722 str = TR_PREFS_KEY_BIND_ADDRESS_IPV6; -
trunk/libtransmission/web.c
r10484 r10535 56 56 { 57 57 int close_mode; 58 tr_bool haveAddr;59 58 tr_list * tasks; 60 59 tr_lock * taskLock; 61 tr_address addr;62 60 }; 63 61 … … 140 138 141 139 static CURL * 142 createEasy( tr_session * s, struct tr_web * w, struct tr_web_task * task ) 143 { 140 createEasy( tr_session * s, struct tr_web_task * task ) 141 { 142 const tr_address * addr; 144 143 CURL * e = curl_easy_init( ); 145 144 const long verbose = getenv( "TR_CURL_VERBOSE" ) != NULL; … … 178 177 curl_easy_setopt( e, CURLOPT_WRITEDATA, task ); 179 178 curl_easy_setopt( e, CURLOPT_WRITEFUNCTION, writeFunc ); 180 if( w->haveAddr ) 181 curl_easy_setopt( e, CURLOPT_INTERFACE, tr_ntop_non_ts( &w->addr ) ); 179 180 if(( addr = tr_sessionGetPublicAddress( s, TR_AF_INET ))) 181 curl_easy_setopt( e, CURLOPT_INTERFACE, tr_ntop_non_ts( addr ) ); 182 182 183 if( task->range ) 183 184 curl_easy_setopt( e, CURLOPT_RANGE, task->range ); … … 236 237 } 237 238 238 void239 tr_webSetInterface( tr_session * session, const tr_address * addr )240 {241 struct tr_web * web = session->web;242 243 if( web != NULL )244 if(( web->haveAddr = ( addr != NULL )))245 web->addr = *addr;246 }247 248 239 static void 249 240 tr_webThreadFunc( void * vsession ) … … 283 274 while(( task = tr_list_pop_front( &web->tasks ))) 284 275 { 285 curl_multi_add_handle( multi, createEasy( session, web,task ));276 curl_multi_add_handle( multi, createEasy( session, task )); 286 277 /*fprintf( stderr, "adding a task.. taskCount is now %d\n", taskCount );*/ 287 278 ++taskCount; -
trunk/libtransmission/web.h
r10303 r10535 27 27 void tr_webClose( tr_session * session, tr_web_close_mode close_mode ); 28 28 29 void tr_webSetInterface( tr_session * session, const struct tr_address * addr );30 31 29 typedef void ( tr_web_done_func )( tr_session * session, 32 30 long response_code,
Note: See TracChangeset
for help on using the changeset viewer.