EventWaitHandle не работает кросс-процесс в Mono?
Я пытаюсь создать кросс-процесс EventWaitHandle в моно, и по какой-то причине он не находит дескриптор процесса сигнализации, я не нашел ничего в моно документации, указывающей, что он работает по-другому в Windows, вот простая программа, которую я написал чтобы проверить это:
class Program
{
private static EventWaitHandle _exitSignal;
static void Main(string[] args)
{
if (args[0] == "1")
{
bool created;
File.AppendAllText("log.txt",$"creating exit wait handle");
_exitSignal = new EventWaitHandle(false, EventResetMode.ManualReset, "Test", out created);
_exitSignal.WaitOne();
_exitSignal.Close();
_exitSignal.Dispose();
File.AppendAllText("log.txt", $"Exiting");
}
else
{
EventWaitHandle result;
if (EventWaitHandle.TryOpenExisting("Test", out result))
{
File.AppendAllText("log1.txt", $"Found Exit wait handle, signaling to stop");
result.Set();
result.Close();
result.Dispose();
File.AppendAllText("log1.txt", $"Exit signal sent");
}
else
{
File.AppendAllText("log1.txt", $"Could not find exit wait handle");
}
}
}
}
по какой-то причине я получаю сообщение о том, что дескриптор не найден, когда я пытаюсь дать сигнал, кто-нибудь сталкивался с такой проблемой?