Changeset 4395
- Timestamp:
- 10/01/06 13:17:25 (2 years ago)
- Files:
-
- trackerd/trunk/trackerd/commands.c (modified) (1 diff)
- trackerd/trunk/trackerd/servers.c (modified) (3 diffs)
- trackerd/trunk/trackerd/servers.h (modified) (2 diffs)
- trackerd/trunk/trackerd/tracker.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trackerd/trunk/trackerd/commands.c
r4394 r4395 455 455 server->update_time = 0.0; 456 456 server->ip = wi_retain(client->ip); 457 server->category = wt_ category_is_valid(WI_ARRAY(arguments, 0))457 server->category = wt_servers_category_is_valid(WI_ARRAY(arguments, 0)) 458 458 ? wi_retain(WI_ARRAY(arguments, 0)) 459 459 : wi_string_init(wi_string_alloc()); trackerd/trunk/trackerd/servers.c
r4394 r4395 259 259 server->name, server->url, interval - update); 260 260 261 wt_server _stats_remove(server);261 wt_servers_remove_stats_for_server(server); 262 262 263 263 wi_array_remove_data_at_index(wt_servers, i); … … 278 278 wt_write_servers(); 279 279 } 280 } 281 282 283 284 #pragma mark - 285 286 void wt_servers_add_stats_for_server(wt_server_t *server) { 287 wi_lock_lock(wt_status_lock); 288 wt_current_servers++; 289 wt_current_users += server->users; 290 wt_current_files += server->files; 291 wt_current_size += server->size; 292 wi_lock_unlock(wt_status_lock); 293 } 294 295 296 297 void wt_servers_remove_stats_for_server(wt_server_t *server) { 298 wi_lock_lock(wt_status_lock); 299 wt_current_servers--; 300 wt_current_users -= server->users; 301 wt_current_files -= server->files; 302 wt_current_size -= server->size; 303 wi_lock_unlock(wt_status_lock); 304 } 305 306 307 308 #pragma mark - 309 310 wi_boolean_t wt_servers_category_is_valid(wi_string_t *category) { 311 wi_file_t *file; 312 wi_string_t *string; 313 wi_boolean_t result = false; 314 315 if(wi_string_length(category) == 0) 316 return true; 317 318 file = wi_file_for_reading(wt_settings.categories); 319 320 if(!file) { 321 wi_log_err(WI_STR("Could not open %@: %m"), wt_settings.categories); 322 323 return true; 324 } 325 326 while((string = wi_file_read_config_line(file))) { 327 if(wi_is_equal(category, string)) { 328 result = true; 329 330 break; 331 } 332 } 333 334 return result; 280 335 } 281 336 … … 423 478 return value; 424 479 } 425 426 427 428 #pragma mark -429 430 void wt_server_stats_add(wt_server_t *server) {431 wi_lock_lock(wt_status_lock);432 wt_current_servers++;433 wt_current_users += server->users;434 wt_current_files += server->files;435 wt_current_size += server->size;436 wi_lock_unlock(wt_status_lock);437 }438 439 440 441 void wt_server_stats_remove(wt_server_t *server) {442 wi_lock_lock(wt_status_lock);443 wt_current_servers--;444 wt_current_users -= server->users;445 wt_current_files -= server->files;446 wt_current_size -= server->size;447 wi_lock_unlock(wt_status_lock);448 }449 450 451 452 #pragma mark -453 454 wi_boolean_t wt_category_is_valid(wi_string_t *category) {455 wi_file_t *file;456 wi_string_t *string;457 wi_boolean_t result = false;458 459 if(wi_string_length(category) == 0)460 return true;461 462 file = wi_file_for_reading(wt_settings.categories);463 464 if(!file) {465 wi_log_err(WI_STR("Could not open %@: %m"), wt_settings.categories);466 467 return true;468 }469 470 while((string = wi_file_read_config_line(file))) {471 if(wi_is_equal(category, string)) {472 result = true;473 474 break;475 }476 }477 478 return result;479 }trackerd/trunk/trackerd/servers.h
r4394 r4395 63 63 void wt_write_servers(void); 64 64 65 void wt_servers_add_stats_for_server(wt_server_t *); 66 void wt_servers_remove_stats_for_server(wt_server_t *); 67 68 wi_boolean_t wt_servers_category_is_valid(wi_string_t *); 69 65 70 wt_server_t * wt_server_alloc(void); 66 71 wt_server_t * wt_server_init(wt_server_t *); … … 70 75 wt_server_t * wt_server_with_key(wi_string_t *); 71 76 72 void wt_server_stats_add(wt_server_t *);73 void wt_server_stats_remove(wt_server_t *);74 75 wi_boolean_t wt_category_is_valid(wi_string_t *);76 77 77 78 78 extern wi_array_t *wt_servers; trackerd/trunk/trackerd/tracker.c
r4394 r4395 316 316 server->name, server->url, interval - server->update_time); 317 317 318 wt_server _stats_remove(server);319 320 wi_ list_wrlock(wt_servers);321 wi_ list_remove_data(wt_servers, server);322 wi_ list_unlock(wt_servers);318 wt_servers_remove_stats_for_server(server); 319 320 wi_array_wrlock(wt_servers); 321 wi_array_remove_data(wt_servers, server); 322 wi_array_unlock(wt_servers); 323 323 324 324 wi_lock_lock(wt_status_lock); … … 333 333 334 334 /* update server */ 335 wt_server _stats_remove(server);335 wt_servers_remove_stats_for_server(server); 336 336 server->users = wi_string_uint32(WI_ARRAY(arguments, 1)); 337 337 server->guest = wi_string_bool(WI_ARRAY(arguments, 2)); … … 340 340 server->size = wi_string_uint64(WI_ARRAY(arguments, 5)); 341 341 server->update_time = interval; 342 wt_server _stats_add(server);342 wt_servers_add_stats_for_server(server); 343 343 344 344 wi_lock_lock(wt_status_lock);
