[Darwin] Adopt XAMCORE_4_0 changes in .NET. (#13965)

This commit is contained in:
Rolf Bjarne Kvinge 2022-01-31 16:51:12 +01:00 коммит произвёл GitHub
Родитель adcfcfbe83
Коммит 62b3eab06d
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 24 добавлений и 4 удалений

Просмотреть файл

@ -50,7 +50,7 @@ namespace Darwin {
public IntPtr /* uintptr_tr */ Ident;
public EventFilter /* int16_t */ Filter;
public EventFlags /* uint16_t */ Flags;
#if XAMCORE_4_0
#if NET
public FilterFlags /* uint32_t */ FilterFlags;
#else
public uint /* uint32_t */ FilterFlags;
@ -247,7 +247,7 @@ namespace Darwin {
return rv;
}
#if !XAMCORE_4_0
#if !NET
[Obsolete ("Use any of the overloads that return an int to get how many events were returned from kevent.")]
public bool KEvent (KernelEvent [] changeList, int nChanges, KernelEvent [] eventList, int nEvents, ref TimeSpec timeOut)
{
@ -291,7 +291,7 @@ namespace Darwin {
}
#endif
#if XAMCORE_4_0
#if NET
public int KEvent (KernelEvent [] changeList, KernelEvent [] eventList)
#else
[Obsolete ("Use any of the overloads that return an int to get how many events were returned from kevent.")]
@ -301,7 +301,7 @@ namespace Darwin {
unsafe {
fixed (KernelEvent *cp = &changeList [0])
fixed (KernelEvent *ep = &eventList [0])
#if XAMCORE_4_0
#if NET
return kevent (handle, cp, changeList != null ? changeList.Length : 0, ep, eventList != null ? eventList.Length : 0, IntPtr.Zero);
#else
return kevent (handle, cp, changeList != null ? changeList.Length : 0, ep, eventList != null ? eventList.Length : 0, IntPtr.Zero) != -1;

Просмотреть файл

@ -20,7 +20,11 @@ namespace apitest
Ident = (IntPtr) process.Id,
Filter = EventFilter.Proc,
Flags = EventFlags.Add,
#if NET
FilterFlags = FilterFlags.ProcExit,
#else
FilterFlags = (uint) (FilterFlags.ProcExit),
#endif
}
};
}
@ -33,7 +37,11 @@ namespace apitest
using (var sleep = Process.Start ("/bin/sleep", sleep_duration)) {
using (var kqueue = new KernelQueue ()) {
var events = CreateEvents (sleep);
#if NET
Assert.That (kqueue.KEvent (events, events), Is.GreaterThan (0), "kevent");
#else
Assert.IsTrue (kqueue.KEvent (events, events), "kevent");
#endif
}
}
@ -81,7 +89,11 @@ namespace apitest
{
Seconds = 5,
};
#if NET
Assert.That (kqueue.KEvent (events, events.Length, events, events.Length, ts), Is.GreaterThan (0), "kevent");
#else
Assert.IsTrue (kqueue.KEvent (events, events.Length, events, events.Length, ref ts), "kevent");
#endif
}
}
@ -89,11 +101,15 @@ namespace apitest
using (var sleep = Process.Start ("/bin/sleep", sleep_duration)) {
using (var kqueue = new KernelQueue ()) {
var events = CreateEvents (sleep);
#if NET
Assert.That (kqueue.KEvent (events, events, TimeSpan.FromSeconds (5)), Is.GreaterThan (0), "kevent");
#else
TimeSpec ts = new TimeSpec
{
Seconds = 5,
};
Assert.IsTrue (kqueue.KEvent (events, events, ref ts), "kevent");
#endif
}
}
@ -101,7 +117,11 @@ namespace apitest
using (var sleep = Process.Start ("/bin/sleep", sleep_duration)) {
using (var kqueue = new KernelQueue ()) {
var events = CreateEvents (sleep);
#if NET
Assert.That (kqueue.KEvent (events, events.Length, events, events.Length), Is.GreaterThan (0), "kevent");
#else
Assert.IsTrue (kqueue.KEvent (events, events.Length, events, events.Length), "kevent");
#endif
}
}
}