Changeset 8910
- Timestamp:
- Aug 13, 2009, 2:47:56 PM (13 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/session.c
r8889 r8910 47 47 #include "version.h" 48 48 #include "web.h" 49 50 enum 51 { 52 SAVE_INTERVAL_SECS = 120 53 }; 54 49 55 50 56 #define dbgmsg( ... ) \ … … 531 537 } 532 538 539 /*** 540 **** 541 ***/ 542 543 /** 544 * Periodically save the .resume files of any torrents whose 545 * status has recently changed. This prevents loss of metadata 546 * in the case of a crash, unclean shutdown, clumsy user, etc. 547 */ 548 static void 549 onSaveTimer( int foo UNUSED, short bar UNUSED, void * vsession ) 550 { 551 tr_torrent * tor = NULL; 552 tr_session * session = vsession; 553 554 while(( tor = tr_torrentNext( session, tor ))) 555 tr_torrentSave( tor ); 556 557 tr_timerAdd( session->saveTimer, SAVE_INTERVAL_SECS, 0 ); 558 } 559 560 /*** 561 **** 562 ***/ 563 533 564 static void tr_sessionInitImpl( void * ); 534 565 static void onAltTimer( int, short, void* ); … … 835 866 setAltTimer( session ); 836 867 868 session->saveTimer = tr_new0( struct event, 1 ); 869 evtimer_set( session->saveTimer, onSaveTimer, session ); 870 tr_timerAdd( session->saveTimer, SAVE_INTERVAL_SECS, 0 ); 871 837 872 /* first %s is the application name 838 873 second %s is the version number */ … … 1423 1458 if( session->isDHTEnabled ) 1424 1459 tr_dhtUninit( session ); 1460 1461 evtimer_del( session->saveTimer ); 1462 tr_free( session->saveTimer ); 1463 session->saveTimer = NULL; 1425 1464 1426 1465 evtimer_del( session->altTimer ); -
trunk/libtransmission/session.h
r8903 r8910 125 125 126 126 struct event * altTimer; 127 struct event * saveTimer; 127 128 128 129 /* the size of the output buffer for peer connections */ -
trunk/libtransmission/torrent.c
r8898 r8910 1355 1355 } 1356 1356 1357 void 1358 tr_torrentSave( tr_torrent * tor ) 1359 { 1360 assert( tr_isTorrent( tor ) ); 1361 1362 if( tor->isDirty ) { 1363 tor->isDirty = FALSE; 1364 tr_torrentSaveResume( tor ); 1365 } 1366 } 1367 1357 1368 static void 1358 1369 stopTorrent( void * vtor ) … … 1368 1379 tr_fdTorrentClose( tor->uniqueId ); 1369 1380 1370 if( tor->isDirty ) { 1371 tor->isDirty = 0; 1372 if( !tor->isDeleting ) 1373 tr_torrentSaveResume( tor ); 1374 } 1381 if( !tor->isDeleting ) 1382 tr_torrentSave( tor ); 1375 1383 } 1376 1384 -
trunk/libtransmission/torrent.h
r8903 r8910 119 119 void tr_torrentCheckSeedRatio( tr_torrent * tor ); 120 120 121 /** save a torrent's .resume file if it's changed since the last time it was saved */ 122 void tr_torrentSave( tr_torrent * tor ); 123 121 124 122 125
Note: See TracChangeset
for help on using the changeset viewer.