Changeset 4404
- Timestamp:
- 10/03/06 10:02:47 (2 years ago)
- Files:
-
- trackerd/trunk/trackerd/servers.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trackerd/trunk/trackerd/servers.c
r4398 r4404 236 236 static void wt_update_servers(wi_timer_t *timer) { 237 237 wi_enumerator_t *enumerator; 238 wi_array_t *servers;239 238 wt_server_t *server; 240 239 void *key; 241 240 wi_time_interval_t interval, update; 242 243 servers = wi_array_init(wi_array_alloc()); 241 wi_boolean_t changed = false; 242 244 243 interval = wi_time_interval(); 245 244 246 245 wi_hash_wrlock(wt_servers); 247 246 248 enumerator = wi_ hash_key_enumerator(wt_servers);247 enumerator = wi_array_data_enumerator(wi_hash_all_keys(wt_servers)); 249 248 250 249 while((key = wi_enumerator_next_data(enumerator))) { … … 253 252 254 253 if(interval - update > wt_settings.minupdatetime) { 255 wi_array_add_data(servers, key);256 257 254 wi_log_warn(WI_STR("Deleting \"%@\" with URL %@: Last update %.0f seconds ago considered too slow"), 258 255 server->name, server->url, interval - update); 259 256 260 257 wt_servers_remove_stats_for_server(server); 258 wi_hash_remove_data_for_key(wt_servers, key); 259 260 changed = true; 261 261 } 262 262 } 263 263 264 enumerator = wi_array_data_enumerator(servers); 265 266 while((key = wi_enumerator_next_data(enumerator))) 267 wi_hash_remove_data_for_key(wt_servers, key); 268 269 wi_hash_unlock(wt_servers); 270 271 if(wi_array_count(servers) > 0) { 264 wi_hash_unlock(wt_servers); 265 266 if(changed) { 272 267 wi_lock_lock(wt_status_lock); 273 268 wt_write_status(true); … … 276 271 wt_write_servers(); 277 272 } 278 279 wi_release(servers);280 273 } 281 274
