Jackett/src/Jackett.Common/Services/TrayLockService.cs

35 lines
857 B
C#

using System;
using System.Threading;
using Jackett.Common.Services.Interfaces;
namespace Jackett.Common.Services
{
public class TrayLockService : ITrayLockService
{
private readonly string EVENT_HANDLE_NAME = "JACKETT.TRAY";
private EventWaitHandle GetEventHandle()
{
return new EventWaitHandle(false, EventResetMode.ManualReset, EVENT_HANDLE_NAME);
}
public void WaitForSignal()
{
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
{
GetEventHandle().Reset();
GetEventHandle().WaitOne();
}
}
public void Signal()
{
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
{
GetEventHandle().Set();
}
}
}
}