Browse Source

Only start the current server's plugin

tags/4.0.8
HYec 6 years ago
parent
commit
7564e79ede
1 changed files with 5 additions and 10 deletions
  1. +5
    -10
      shadowsocks-csharp/Controller/ShadowsocksController.cs

+ 5
- 10
shadowsocks-csharp/Controller/ShadowsocksController.cs View File

@@ -520,7 +520,6 @@ namespace Shadowsocks.Controller
_listener.Stop();
}
//
StopPlugins();
// don't put PrivoxyRunner.Start() before pacServer.Stop()
@@ -536,7 +535,7 @@ namespace Shadowsocks.Controller
strategy.ReloadServers();
}
StartPlugins();
StartPlugin();
privoxyRunner.Start(_config);
TCPRelay tcpRelay = new TCPRelay(this, _config);
@@ -556,8 +555,7 @@ namespace Shadowsocks.Controller
if (e is SocketException)
{
SocketException se = (SocketException)e;
if (se.SocketErrorCode == SocketError.AccessDenied ||
se.SocketErrorCode == SocketError.AddressAlreadyInUse)
if (se.SocketErrorCode == SocketError.AccessDenied)
{
e = new Exception(I18N.GetString("Port already in use"), e);
}
@@ -575,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)


Loading…
Cancel
Save