commit
dc8550aa31
|
@ -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).
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue