Changeset 6819
- Timestamp:
- Oct 1, 2008, 4:26:38 AM (13 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/rpc-server.c
r6817 r6819 399 399 400 400 static void 401 startServer( tr_rpc_server * server ) 402 { 401 startServer( void * vserver ) 402 { 403 tr_rpc_server * server = vserver; 404 403 405 fprintf( stderr, "%s:%d in startServer; current context is %p\n", __FILE__, __LINE__, server->httpd ); 404 406 … … 424 426 } 425 427 426 void 427 tr_rpcSetEnabled( tr_rpc_server * server, 428 int isEnabled ) 429 { 430 server->isEnabled = isEnabled != 0; 431 432 if( !isEnabled ) 428 static void 429 onEnabledChanged( void * vserver ) 430 { 431 tr_rpc_server * server = vserver; 432 433 if( !server->isEnabled ) 433 434 stopServer( server ); 434 435 else 435 436 startServer( server ); 436 437 } 438 439 440 void 441 tr_rpcSetEnabled( tr_rpc_server * server, 442 int isEnabled ) 443 { 444 server->isEnabled = isEnabled != 0; 445 446 tr_runInEventThread( server->session, onEnabledChanged, server ); 447 } 437 448 438 449 int … … 442 453 } 443 454 455 static void 456 restartServer( void * vserver ) 457 { 458 tr_rpc_server * server = vserver; 459 460 if( server->isEnabled ) 461 { 462 stopServer( server ); 463 startServer( server ); 464 } 465 } 466 444 467 void 445 468 tr_rpcSetPort( tr_rpc_server * server, … … 451 474 452 475 if( server->isEnabled ) 453 { 454 stopServer( server ); 455 startServer( server ); 456 } 476 tr_runInEventThread( server->session, restartServer, server ); 457 477 } 458 478 } … … 530 550 ****/ 531 551 532 void 533 tr_rpcClose( tr_rpc_server ** ps ) 534 { 535 tr_rpc_server * s = *ps; 536 537 *ps = NULL; 538 552 static void 553 closeServer( void * vserver ) 554 { 555 tr_rpc_server * s = vserver; 539 556 stopServer( s ); 540 557 tr_free( s->acl ); … … 542 559 tr_free( s->password ); 543 560 tr_free( s ); 561 } 562 563 void 564 tr_rpcClose( tr_rpc_server ** ps ) 565 { 566 tr_runInEventThread( (*ps)->session, closeServer, *ps ); 567 *ps = NULL; 544 568 } 545 569 … … 563 587 s->isPasswordEnabled = isPasswordEnabled != 0; 564 588 s->isEnabled = isEnabled != 0; 565 566 589 if( isEnabled ) 567 startServer(s );590 tr_runInEventThread( session, startServer, s ); 568 591 return s; 569 592 } -
trunk/libtransmission/trevent.c
r6811 r6819 146 146 libeventThreadFunc( void * veh ) 147 147 { 148 tr_event_handle * eh = (tr_event_handle *)veh;148 tr_event_handle * eh = veh; 149 149 150 150 tr_dbg( "Starting libevent thread" ); … … 155 155 #endif 156 156 157 eh->base = event_init( );158 157 eh->h->events = eh; 159 event_set_log_callback( logFunc );160 158 161 159 /* listen to the pipe's read fd */ … … 183 181 pipe( eh->fds ); 184 182 eh->h = handle; 183 eh->base = event_init( ); 185 184 eh->thread = tr_threadNew( libeventThreadFunc, eh ); 186 185 }
Note: See TracChangeset
for help on using the changeset viewer.