Skip to content

Commit 43c803f

Browse files
committed
Fixed test regression on Windows and FreeBSD
1 parent 9167e6c commit 43c803f

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/DotNext.Tests/Buffers/UnmanagedMemoryPoolTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,13 +276,15 @@ public static void AllocatePageAlignedMemoryInvalidSize()
276276
Equal(Memory<byte>.Empty, owner.Memory);
277277
}
278278

279-
[Fact]
279+
[PlatformSpecificFact("linux", "windows")]
280280
public static void DiscardPages()
281281
{
282282
using var systemPages = UnmanagedMemory.AllocateSystemPages(1);
283283
systemPages.Memory.Span[0] = 42;
284284

285+
// On FreeBSD and MacOS, the method doesn't clear the memory
285286
UnmanagedMemory.Discard(systemPages.Memory.Span);
287+
286288
Equal(0, systemPages.Memory.Span[0]);
287289
}
288290

src/DotNext.Unsafe/Buffers/UnmanagedMemory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ internal static void Discard(nint address, nint length)
302302
return;
303303

304304
int errorCode;
305-
if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS())
305+
if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS() || OperatingSystem.IsFreeBSD())
306306
{
307307
const int MADV_DONTNEED = 4;
308308

0 commit comments

Comments
 (0)