diff options
author | erdgeist <> | 2007-11-21 01:57:03 +0000 |
---|---|---|
committer | erdgeist <> | 2007-11-21 01:57:03 +0000 |
commit | acaf7ae2b34d57ba1b289d4902b2252dadb6b905 (patch) | |
tree | b0feedb83adcc1d7f6cae46f130a81038c9ca12b /trackerlogic.c | |
parent | b73b19f8f427ac40d61c92f7f0d964ee515e2c24 (diff) |
Fixing mmap allocation went to ot_mutex.c. Also startup new sync thread.
Diffstat (limited to 'trackerlogic.c')
-rw-r--r-- | trackerlogic.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/trackerlogic.c b/trackerlogic.c index e4dc3a6..2b4e91d 100644 --- a/trackerlogic.c +++ b/trackerlogic.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include "ot_clean.h" | 23 | #include "ot_clean.h" |
24 | #include "ot_accesslist.h" | 24 | #include "ot_accesslist.h" |
25 | #include "ot_fullscrape.h" | 25 | #include "ot_fullscrape.h" |
26 | #include "ot_sync.h" | ||
26 | 27 | ||
27 | void free_peerlist( ot_peerlist *peer_list ) { | 28 | void free_peerlist( ot_peerlist *peer_list ) { |
28 | size_t i; | 29 | size_t i; |
@@ -204,16 +205,6 @@ size_t return_peers_for_torrent( ot_hash *hash, size_t amount, char *reply, int | |||
204 | return r - reply; | 205 | return r - reply; |
205 | } | 206 | } |
206 | 207 | ||
207 | /* Release memory we allocated too much */ | ||
208 | void fix_mmapallocation( void *buf, size_t old_alloc, size_t new_alloc ) { | ||
209 | int page_size = getpagesize(); | ||
210 | size_t old_pages = 1 + old_alloc / page_size; | ||
211 | size_t new_pages = 1 + new_alloc / page_size; | ||
212 | |||
213 | if( old_pages != new_pages ) | ||
214 | munmap( ((char*)buf) + new_pages * page_size, old_alloc - new_pages * page_size ); | ||
215 | } | ||
216 | |||
217 | /* Fetches scrape info for a specific torrent */ | 208 | /* Fetches scrape info for a specific torrent */ |
218 | size_t return_udp_scrape_for_torrent( ot_hash *hash, char *reply ) { | 209 | size_t return_udp_scrape_for_torrent( ot_hash *hash, char *reply ) { |
219 | int exactmatch; | 210 | int exactmatch; |
@@ -326,7 +317,9 @@ int trackerlogic_init( const char * const serverdir ) { | |||
326 | mutex_init( ); | 317 | mutex_init( ); |
327 | clean_init( ); | 318 | clean_init( ); |
328 | fullscrape_init( ); | 319 | fullscrape_init( ); |
329 | 320 | #ifdef WANT_TRACKER_SYNC | |
321 | sync_init( ); | ||
322 | #endif | ||
330 | return 0; | 323 | return 0; |
331 | } | 324 | } |
332 | 325 | ||
@@ -348,7 +341,10 @@ void trackerlogic_deinit( void ) { | |||
348 | } | 341 | } |
349 | 342 | ||
350 | /* Deinitialise background worker threads */ | 343 | /* Deinitialise background worker threads */ |
351 | fullscrape_init( ); | 344 | #ifdef WANT_TRACKER_SYNC |
345 | sync_deinit( ); | ||
346 | #endif | ||
347 | fullscrape_deinit( ); | ||
352 | clean_deinit( ); | 348 | clean_deinit( ); |
353 | mutex_deinit( ); | 349 | mutex_deinit( ); |
354 | } | 350 | } |