Merge pull request #1618 from hyec/master
Close sockets before stop plugins Do not activate all servers' plugins at the same time
This commit is contained in:
@@ -490,8 +490,6 @@ namespace Shadowsocks.Controller
|
||||
|
||||
protected void Reload()
|
||||
{
|
||||
StopPlugins();
|
||||
|
||||
Encryption.RNG.Reload();
|
||||
// some logic in configuration updated the config when saving, we need to read it again
|
||||
_config = Configuration.Load();
|
||||
@@ -521,6 +519,9 @@ namespace Shadowsocks.Controller
|
||||
{
|
||||
_listener.Stop();
|
||||
}
|
||||
|
||||
StopPlugins();
|
||||
|
||||
// don't put PrivoxyRunner.Start() before pacServer.Stop()
|
||||
// or bind will fail when switching bind address from 0.0.0.0 to 127.0.0.1
|
||||
// though UseShellExecute is set to true now
|
||||
@@ -534,7 +535,7 @@ namespace Shadowsocks.Controller
|
||||
strategy.ReloadServers();
|
||||
}
|
||||
|
||||
StartPlugins();
|
||||
StartPlugin();
|
||||
privoxyRunner.Start(_config);
|
||||
|
||||
TCPRelay tcpRelay = new TCPRelay(this, _config);
|
||||
@@ -572,13 +573,10 @@ namespace Shadowsocks.Controller
|
||||
Utils.ReleaseMemory(true);
|
||||
}
|
||||
|
||||
private void StartPlugins()
|
||||
private void StartPlugin()
|
||||
{
|
||||
foreach (var server in _config.configs)
|
||||
{
|
||||
// Early start plugin processes
|
||||
GetPluginLocalEndPointIfConfigured(server);
|
||||
}
|
||||
var server = _config.GetCurrentServer();
|
||||
GetPluginLocalEndPointIfConfigured(server);
|
||||
}
|
||||
|
||||
protected void SaveConfig(Configuration newConfig)
|
||||
|
||||
Reference in New Issue
Block a user