diff options
Diffstat (limited to 'src/engine/e_engine.c')
| -rw-r--r-- | src/engine/e_engine.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/engine/e_engine.c b/src/engine/e_engine.c index a9e0e86e..d356fd4b 100644 --- a/src/engine/e_engine.c +++ b/src/engine/e_engine.c @@ -300,7 +300,9 @@ void mastersrv_update() { /* we got a result from the lookup ready */ if(master_servers[i].lookup.result == 0) + { master_servers[i].addr = master_servers[i].lookup.addr; + } master_servers[i].lookup.state = STATE_PROCESSED; } @@ -311,6 +313,13 @@ void mastersrv_update() if(!needs_update) { + /* make sure to destroy the threads */ + for(i = 0; i < NUM_LOOKUP_THREADS; i++) + { + thread_destroy(master_servers[i].lookup.thread); + master_servers[i].lookup.thread = 0; + } + dbg_msg("engine/mastersrv", "saving addresses"); mastersrv_save(); } |