feat: use ManualResetEvent instead of loop
parent
3dd375a1df
commit
5caebf2b34
|
@ -13,6 +13,8 @@ namespace SkyHook
|
|||
{
|
||||
private static SkyHookManager _instance;
|
||||
|
||||
private ManualResetEvent _mre;
|
||||
|
||||
/// <summary>
|
||||
/// Whether this process is focused.
|
||||
/// </summary>
|
||||
|
@ -77,6 +79,8 @@ namespace SkyHook
|
|||
var started = false;
|
||||
Exception exception = null;
|
||||
|
||||
_mre = new(false);
|
||||
|
||||
new Thread(() =>
|
||||
{
|
||||
try
|
||||
|
@ -91,9 +95,7 @@ namespace SkyHook
|
|||
isHookActive = true;
|
||||
started = true;
|
||||
|
||||
while (isHookActive)
|
||||
{
|
||||
}
|
||||
_mre.WaitOne();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -121,6 +123,11 @@ namespace SkyHook
|
|||
throw new SkyHookException(result);
|
||||
}
|
||||
|
||||
if (_mre != null)
|
||||
{
|
||||
_mre.Set();
|
||||
}
|
||||
|
||||
isHookActive = false;
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue