Merge branch 'master'

Conflicts:
	WifiSitter/WifiSitter.cs
systray
Sean McArde 2016-10-02 13:06:17 -07:00
commit dc8550aa31
2 changed files with 18 additions and 3 deletions

View File

@ -66,4 +66,4 @@ Note, these values are removed when uninstalling.
*Many thanks to Matt Davis for [this](http://stackoverflow.com/a/4865893/977627) answer
and Samuael Neff for [this](http://stackoverflow.com/a/12282179/977627). They helped a lot with converting to a service.*
This repository is mirrored on my site, [here](https://mcardletech.com/git/sean-m/wifi-sitter).

View File

@ -8,6 +8,7 @@ using System.Threading;
using System.Reflection;
using WifiSitter.Helpers;
using System.Threading.Tasks;
namespace WifiSitter
{
@ -311,17 +312,31 @@ namespace WifiSitter
}
private void ResetNicState (NetworkState netstate) {
var taskList = new List<Task>();
foreach (var n in netstate.OriginalNicState) {
var id = n[0];
var stat = n[1];
TrackedNic now = netstate.Nics.Where(x => x.Id == id).FirstOrDefault();
if (now != null) {
if (stat.ToLower() != now.IsEnabled.ToString().ToLower()) {
if (stat == true.ToString()) now.Enable();
else now.Disable();
if (stat == true.ToString()) {
var enableTask = new Task(() => { now.Enable(); });
enableTask.Start();
taskList.Add(enableTask);
}
else {
var disableTask = new Task(() => { now.Disable(); });
disableTask.Start();
taskList.Add(disableTask); }
}
}
}
try {
Task.WaitAll(taskList.ToArray());
}
catch (Exception e) {
WriteLog(LogType.error, "Exception when resetting nic state\n", e.InnerException.Message);
}
}
#endregion // methods