From 5233046241ee7270ddb481d63fbed14a55cb66ab Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Sun, 3 Jun 2012 04:06:32 +0000 Subject: Make woodpecker spotting more usable by adjusting count every 2 minutes --- ot_clean.c | 2 ++ ot_stats.c | 8 ++++++++ ot_stats.h | 1 + 3 files changed, 11 insertions(+) diff --git a/ot_clean.c b/ot_clean.c index 6024c08..4c03416 100644 --- a/ot_clean.c +++ b/ot_clean.c @@ -16,6 +16,7 @@ #include "ot_mutex.h" #include "ot_vector.h" #include "ot_clean.h" +#include "ot_stats.h" /* Returns amount of removed peers */ static ssize_t clean_single_bucket( ot_peer *peers, size_t peer_count, time_t timedout, int *removed_seeders ) { @@ -121,6 +122,7 @@ static void * clean_worker( void * args ) { return NULL; usleep( OT_CLEAN_SLEEP ); } + stats_cleanup(); } return NULL; } diff --git a/ot_stats.c b/ot_stats.c index 018098d..4edfad7 100644 --- a/ot_stats.c +++ b/ot_stats.c @@ -731,6 +731,14 @@ void stats_issue_event( ot_status_event event, PROTO_FLAG proto, uintptr_t event } } +void stats_cleanup() { +#ifdef WANT_SPOT_WOODPECKER + pthread_mutex_lock( &g_woodpeckers_mutex ); + stats_shift_down_network_count( &stats_woodpeckers_tree, 0, 1 ); + pthread_mutex_unlock( &g_woodpeckers_mutex ); +#endif +} + static void * stats_worker( void * args ) { int iovec_entries; struct iovec *iovector; diff --git a/ot_stats.h b/ot_stats.h index 821bc2b..4c59f8b 100644 --- a/ot_stats.h +++ b/ot_stats.h @@ -39,6 +39,7 @@ enum { void stats_issue_event( ot_status_event event, PROTO_FLAG proto, uintptr_t event_data ); void stats_deliver( int64 sock, int tasktype ); +void stats_cleanup(); size_t return_stats_for_tracker( char *reply, int mode, int format ); size_t stats_return_tracker_version( char *reply ); void stats_init( ); -- cgit v1.2.3