diff options
| -rw-r--r-- | DESIGN | 7 |
1 files changed, 7 insertions, 0 deletions
| @@ -93,6 +93,13 @@ way, 3089 of them refused over 373 ms against a two million entry whitelist. | |||
| 93 | The first read is therefore synchronous in accesslist_init, and the thread | 93 | The first read is therefore synchronous in accesslist_init, and the thread |
| 94 | only handles reloads. | 94 | only handles reloads. |
| 95 | 95 | ||
| 96 | Nothing that adds a peer starts before the state file has been read. That is | ||
| 97 | the TCP and UDP listeners and live sync, so main starts all three after | ||
| 98 | load_state rather than leaving live sync inside trackerlogic_init. A cluster | ||
| 99 | packet arriving in that window created the torrent, and the saved state for it | ||
| 100 | was then dropped on the exactmatch add_torrent_from_saved_state bails on, | ||
| 101 | losing that torrent's completed count. | ||
| 102 | |||
| 96 | Teardown stops the cleaner first. It is the one worker that calls into other | 103 | Teardown stops the cleaner first. It is the one worker that calls into other |
| 97 | modules, accesslist_cleanup and stats_cleanup, so stopping it after them left | 104 | modules, accesslist_cleanup and stats_cleanup, so stopping it after them left |
| 98 | it locking a mutex accesslist_deinit had already destroyed: five shutdowns in | 105 | it locking a mutex accesslist_deinit had already destroyed: five shutdowns in |
