You've already forked linux-packaging-mono
Imported Upstream version 6.8.0.73
Former-commit-id: d18deab1b47cfd3ad8cba82b3f37d00eec2170af
This commit is contained in:
parent
bceda29824
commit
73ee7591e8
@@ -693,8 +693,6 @@ compiler so that csc can be used.
|
||||
|
||||
Always use `/r:foo.dll`, not `/r:foo`. Windows requires the former.
|
||||
|
||||
Use `/r:$(corlib)`, not `/r:corlib`.
|
||||
|
||||
If you're writing shell script code as part of a make rule, remember
|
||||
that Windows has command-line length limits. So something like
|
||||
|
||||
|
@@ -11,14 +11,6 @@ PLATFORM_RUNTIME
|
||||
The system runtime for executing CLR programs. Blank on Win32,
|
||||
probably $(RUNTIME) (the Mono runtime) on everything else.
|
||||
|
||||
PLATFORM_CORLIB
|
||||
The name of the system's corlib. 'mscorlib.dll'
|
||||
|
||||
PLATFORM_MAKE_CORLIB_CMP
|
||||
Define it to something nonempty if corlib_cmp.dll should be built
|
||||
on this platform. Only should be done if the platform provides its
|
||||
own non-Mono runtime that we can compare corlibs with.
|
||||
|
||||
PLATFORM_TWEAK_CORLIB_SOURCES
|
||||
A command to futz around with the sources to mscorlib.dll. See linux.make
|
||||
and win32.make for examples. Should be 'cat' unless you know what you're
|
||||
|
@@ -30,7 +30,7 @@
|
||||
|
||||
static partial class Consts
|
||||
{
|
||||
public const string MonoCorlibVersion = "A144A63D-652C-4CCF-A9EE-8E5A091547F1";
|
||||
public const string MonoCorlibVersion = "ABB721D6-116A-4555-B4FD-9248146D2051";
|
||||
}
|
||||
|
||||
#if !NETCORE
|
||||
@@ -41,7 +41,7 @@ static partial class Consts
|
||||
// Use these assembly version constants to make code more maintainable.
|
||||
//
|
||||
|
||||
public const string MonoVersion = "6.6.0.161";
|
||||
public const string MonoVersion = "6.8.0.73";
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
|
@@ -21,7 +21,6 @@ TEST_HARNESS = $(topdir)/class/lib/$(PROFILE_DIRECTORY)/$(PARENT_PROFILE)nunit-l
|
||||
PLATFORM_DEBUG_FLAGS = /debug:portable
|
||||
# Workaround for https://bugzilla.xamarin.com/show_bug.cgi?id=59967
|
||||
MCS_FLAGS = /features:peverify-compat /langversion:latest
|
||||
MBAS_FLAGS = -debug
|
||||
LIBRARY_FLAGS =
|
||||
ifndef CFLAGS
|
||||
CFLAGS = -g -O2
|
||||
@@ -41,7 +40,6 @@ TEST_RUNTIME = MONO_PATH="$(TEST_MONO_PATH)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH
|
||||
# keep track of the default value
|
||||
|
||||
DEFAULT_MCS_FLAGS := $(MCS_FLAGS)
|
||||
DEFAULT_MBAS_FLAGS := $(MBAS_FLAGS)
|
||||
DEFAULT_PROFILE := net_4_x
|
||||
|
||||
# You shouldn't need to set these but might on a
|
||||
|
@@ -1,4 +1,5 @@
|
||||
Test/Mono.Unix.Android/TestHelper.cs
|
||||
Test/Mono.Unix.Native/OFDLockTest.cs
|
||||
Test/Mono.Unix.Native/RealTimeSignumTests.cs
|
||||
Test/Mono.Unix.Native/SocketTest.cs
|
||||
Test/Mono.Unix.Native/StdlibTest.cs
|
||||
|
@@ -5,20 +5,12 @@
|
||||
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME = $(RUNTIME)
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES =
|
||||
|
||||
EXTERNAL_MCS = mcs
|
||||
EXTERNAL_MBAS = mbas
|
||||
EXTERNAL_RUNTIME = mono
|
||||
#ILDISASM = monodis
|
||||
ILDISASM = false
|
||||
|
||||
PLATFORM_PATH_SEPARATOR = :
|
||||
|
||||
# Define this if this ever will work on Linux
|
||||
# PLATFORM_MAKE_CORLIB_CMP = yes
|
||||
|
||||
# This is for changing / to \ on windows
|
||||
PLATFORM_CHANGE_SEPARATOR_CMD = cat
|
||||
|
||||
@@ -27,12 +19,3 @@ hidden_suffix =
|
||||
|
||||
platform-check:
|
||||
@:
|
||||
# I tried this but apparently Make's version strings aren't that
|
||||
# ... consistent between releases. Whatever.
|
||||
#
|
||||
# @if ! $(MAKE) --version |grep '^GNU Make version 3' 1>/dev/null 2>&1 ; then \
|
||||
# echo "*** You need to build MCS with GNU make. Try \`gmake'" ; \
|
||||
# exit 1 ; \
|
||||
# fi
|
||||
|
||||
PLATFORM_LINUX=1
|
||||
|
@@ -5,20 +5,12 @@
|
||||
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME = $(RUNTIME)
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES = NotOnMac
|
||||
|
||||
EXTERNAL_MCS = mcs
|
||||
EXTERNAL_MBAS = mbas
|
||||
EXTERNAL_RUNTIME = mono
|
||||
#ILDISASM = monodis
|
||||
ILDISASM = false
|
||||
|
||||
PLATFORM_PATH_SEPARATOR = :
|
||||
|
||||
# Define this if this ever will work on Linux
|
||||
# PLATFORM_MAKE_CORLIB_CMP = yes
|
||||
|
||||
# This is for changing / to \ on windows
|
||||
PLATFORM_CHANGE_SEPARATOR_CMD = cat
|
||||
|
||||
@@ -27,12 +19,3 @@ hidden_suffix =
|
||||
|
||||
platform-check:
|
||||
@:
|
||||
# I tried this but apparently Make's version strings aren't that
|
||||
# ... consistent between releases. Whatever.
|
||||
#
|
||||
# @if ! $(MAKE) --version |grep '^GNU Make version 3' 1>/dev/null 2>&1 ; then \
|
||||
# echo "*** You need to build MCS with GNU make. Try \`gmake'" ; \
|
||||
# exit 1 ; \
|
||||
# fi
|
||||
|
||||
PLATFORM_MACOS=1
|
||||
|
@@ -5,20 +5,12 @@
|
||||
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME = $(RUNTIME)
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES =
|
||||
|
||||
EXTERNAL_MCS = mcs
|
||||
EXTERNAL_MBAS = mbas
|
||||
EXTERNAL_RUNTIME = mono
|
||||
#ILDISASM = monodis
|
||||
ILDISASM = false
|
||||
|
||||
PLATFORM_PATH_SEPARATOR = :
|
||||
|
||||
# Define this if this ever will work on Unix
|
||||
# PLATFORM_MAKE_CORLIB_CMP = yes
|
||||
|
||||
# This is for changing / to \ on windows
|
||||
PLATFORM_CHANGE_SEPARATOR_CMD = cat
|
||||
|
||||
@@ -27,13 +19,3 @@ hidden_suffix =
|
||||
|
||||
platform-check:
|
||||
@:
|
||||
# I tried this but apparently Make's version strings aren't that
|
||||
# ... consistent between releases. Whatever.
|
||||
#
|
||||
# @if ! $(MAKE) --version |grep '^GNU Make version 3' 1>/dev/null 2>&1 ; then \
|
||||
# echo "*** You need to build MCS with GNU make. Try \`gmake'" ; \
|
||||
# exit 1 ; \
|
||||
# fi
|
||||
|
||||
|
||||
PLATFORM_UNIX=1
|
||||
|
@@ -5,21 +5,10 @@
|
||||
|
||||
PLATFORM_MCS_FLAGS =
|
||||
PLATFORM_RUNTIME =
|
||||
PLATFORM_CORLIB = mscorlib.dll
|
||||
PLATFORM_TEST_HARNESS_EXCLUDES = NotOnWindows
|
||||
|
||||
EXTERNAL_MCS = mcs
|
||||
EXTERNAL_MBAS = vbc.exe
|
||||
EXTERNAL_RUNTIME = mono
|
||||
|
||||
# Disabled since it needs the SDK
|
||||
#ILDISASM = ildasm.exe /test
|
||||
|
||||
#ILDISASM = monodis.bat
|
||||
## Gross hack
|
||||
ILDISASM = $(topdir)/../mono/mono/dis/monodis
|
||||
|
||||
PLATFORM_MAKE_CORLIB_CMP = yes
|
||||
PLATFORM_CHANGE_SEPARATOR_CMD=tr '/' '\\\\'
|
||||
PLATFORM_PATH_SEPARATOR = ;
|
||||
|
||||
@@ -31,4 +20,3 @@ hidden_suffix = .tmp
|
||||
platform-check:
|
||||
@:
|
||||
|
||||
PLATFORM_WIN32=1
|
||||
|
@@ -7,8 +7,6 @@ MCS = $(BOOTSTRAP_MCS)
|
||||
|
||||
PLATFORMS = macos linux win32 unix
|
||||
|
||||
# nuttzing!
|
||||
|
||||
profile-check:
|
||||
@:
|
||||
|
||||
@@ -21,7 +19,7 @@ XBUILD_VERSION = 4.0
|
||||
|
||||
ENFORCE_LIBRARY_WARN_AS_ERROR = yes
|
||||
|
||||
ifdef PLATFORM_MACOS
|
||||
ifeq ($(HOST_PLATFORM),macos)
|
||||
MONO_FEATURE_APPLETLS=1
|
||||
ENABLE_GSS=1
|
||||
endif
|
||||
|
@@ -42,11 +42,9 @@ COMPILER_SERVER_ARGS = $(if $(findstring 1,$(ENABLE_COMPILER_SERVER)),$(COMPILER
|
||||
CSC_LOCATION = $(if $(findstring 1,$(ENABLE_COMPILER_SERVER)),$(SERVER_CSC_LOCATION),$(STANDALONE_CSC_LOCATION))
|
||||
|
||||
USE_MCS_FLAGS = $(COMPILER_SERVER_ARGS) /codepage:$(CODEPAGE) /nologo /noconfig /deterministic $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS)
|
||||
USE_MBAS_FLAGS = $(COMPILER_SERVER_ARGS) /codepage:$(CODEPAGE) $(LOCAL_MBAS_FLAGS) $(PLATFORM_MBAS_FLAGS) $(PROFILE_MBAS_FLAGS) $(MBAS_FLAGS)
|
||||
USE_CFLAGS = $(LOCAL_CFLAGS) $(CFLAGS) $(CPPFLAGS)
|
||||
CSCOMPILE = $(Q_MCS) $(MCS) $(USE_MCS_FLAGS)
|
||||
CSC_RUNTIME_FLAGS = --aot-path=$(abspath $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)) --gc-params=nursery-size=64m --clr-memory-model
|
||||
BASCOMPILE = $(MBAS) $(USE_MBAS_FLAGS)
|
||||
CSC_RUNTIME_FLAGS = --aot-path=$(abspath $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)) --gc-params=nursery-size=64m
|
||||
CCOMPILE = $(CC) $(USE_CFLAGS)
|
||||
BOOT_COMPILE = $(Q_MCS) $(BOOTSTRAP_MCS) $(USE_MCS_FLAGS)
|
||||
INSTALL = $(SHELL) $(topdir)/../mono/install-sh
|
||||
@@ -54,7 +52,6 @@ INSTALL_DATA = $(INSTALL) -c -m 644
|
||||
INSTALL_BIN = $(INSTALL) -c -m 755
|
||||
INSTALL_LIB = $(INSTALL_BIN)
|
||||
MKINSTALLDIRS = $(SHELL) $(topdir)/mkinstalldirs
|
||||
INTERNAL_MBAS = $(RUNTIME) $(RUNTIME_FLAGS) $(topdir)/mbas/mbas.exe
|
||||
INTERNAL_CSC_LOCATION = $(CSC_LOCATION)
|
||||
|
||||
# Using CSC_SDK_PATH_DISABLED for sanity check that all references have path specified
|
||||
@@ -100,9 +97,6 @@ include $(topdir)/build/platforms/$(BUILD_PLATFORM).make
|
||||
PROFILE_PLATFORM = $(if $(PLATFORMS),$(if $(filter $(PLATFORMS),$(HOST_PLATFORM)),$(HOST_PLATFORM),$(error Unknown platform "$(HOST_PLATFORM)" for profile "$(PROFILE)")))
|
||||
PROFILE_DIRECTORY = $(PROFILE)$(if $(PROFILE_PLATFORM),-$(PROFILE_PLATFORM))
|
||||
|
||||
ifdef PLATFORM_CORLIB
|
||||
corlib = $(PLATFORM_CORLIB)
|
||||
endif
|
||||
# Useful
|
||||
|
||||
ifeq ($(PLATFORM_RUNTIME),$(RUNTIME))
|
||||
|
@@ -6,7 +6,7 @@ set -u
|
||||
set -e
|
||||
|
||||
if [ -s "$VBCS_LOCATION" ]; then
|
||||
CMD="RoslynCommandLineLogFile=$2 $VBCS_RUNTIME --clr-memory-model --gc-params=nursery-size=64m \"$VBCS_LOCATION\" -pipename:$3 &"
|
||||
CMD="RoslynCommandLineLogFile=$2 $VBCS_RUNTIME --gc-params=nursery-size=64m \"$VBCS_LOCATION\" -pipename:$3 &"
|
||||
echo "Log location set to $2"
|
||||
touch "$2"
|
||||
echo "cd $1; bash -c \"$CMD\""
|
||||
|
@@ -604,6 +604,7 @@ public class Tests : TestsBase, ITest2
|
||||
if_property_stepping();
|
||||
fixed_size_array();
|
||||
test_new_exception_filter();
|
||||
test_async_debug_generics();
|
||||
return 3;
|
||||
}
|
||||
|
||||
@@ -903,6 +904,17 @@ public class Tests : TestsBase, ITest2
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void test_async_debug_generics () {
|
||||
ExecuteAsync_Broken<object>().Wait ();
|
||||
}
|
||||
|
||||
async static Task<T> ExecuteAsync_Broken<T>()
|
||||
{
|
||||
await Task.Delay(2);
|
||||
return default;
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void inspect_enumerator_in_generic_struct() {
|
||||
TestEnumeratorInsideGenericStruct<String, String> generic_struct = new TestEnumeratorInsideGenericStruct<String, String>(new KeyValuePair<string, string>("0", "f1"));
|
||||
|
@@ -1 +1 @@
|
||||
2bccbb137b170a01de42625d65883e868c508913
|
||||
52da50a45dbfc7510ab393f4a443ee0caae46b7b
|
@@ -139,6 +139,7 @@ namespace Mono.Attach
|
||||
else {
|
||||
writer.Write ((sbyte)PrimitiveType.PRIM_TYPE_STRING);
|
||||
writer.Write (s);
|
||||
writer.Write ((byte)0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -43,33 +43,16 @@ namespace Mono.Messaging.RabbitMQ {
|
||||
public class RabbitMQMessagingProvider : IMessagingProvider {
|
||||
|
||||
private int txCounter = 0;
|
||||
private readonly uint localIp;
|
||||
private readonly Guid localId;
|
||||
private readonly MessagingContextPool contextPool;
|
||||
|
||||
public RabbitMQMessagingProvider ()
|
||||
{
|
||||
localIp = GetLocalIP ();
|
||||
localId = Guid.NewGuid ();
|
||||
contextPool = new MessagingContextPool (new MessageFactory (this),
|
||||
CreateConnection);
|
||||
}
|
||||
|
||||
private static uint GetLocalIP ()
|
||||
{
|
||||
String strHostName = Dns.GetHostName ();
|
||||
IPHostEntry ipEntry = Dns.GetHostByName (strHostName);
|
||||
foreach (IPAddress ip in ipEntry.AddressList) {
|
||||
if (AddressFamily.InterNetwork == ip.AddressFamily) {
|
||||
byte[] addr = ip.GetAddressBytes ();
|
||||
uint localIP = 0;
|
||||
for (int i = 0; i < 4 && i < addr.Length; i++) {
|
||||
localIP += (uint) (addr[i] << 8 * (3 - i));
|
||||
}
|
||||
return localIP;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public IMessage CreateMessage ()
|
||||
{
|
||||
return new MessageBase ();
|
||||
@@ -78,7 +61,7 @@ namespace Mono.Messaging.RabbitMQ {
|
||||
public IMessageQueueTransaction CreateMessageQueueTransaction ()
|
||||
{
|
||||
Interlocked.Increment (ref txCounter);
|
||||
string txId = localIp.ToString () + txCounter.ToString ();
|
||||
string txId = localId.ToString () + "_" + txCounter.ToString ();
|
||||
|
||||
return new RabbitMQMessageQueueTransaction (txId, contextPool);
|
||||
}
|
||||
|
@@ -9,6 +9,7 @@ Mono.Unix/UnixPathTest.cs
|
||||
Mono.Unix/UnixSignalTest.cs
|
||||
Mono.Unix/UnixUserTest.cs
|
||||
Mono.Unix.Android/TestHelper.cs
|
||||
Mono.Unix.Native/OFDLockTest.cs
|
||||
Mono.Unix.Native/RealTimeSignumTests.cs
|
||||
Mono.Unix.Native/SocketTest.cs
|
||||
Mono.Unix.Native/StdlibTest.cs
|
||||
|
@@ -1 +1 @@
|
||||
6cc67dda4b894bb3ef0dffdc49ae8e816665c012
|
||||
c9eb750d22227382cc4989053d328c0e7fc0bc79
|
133
mcs/class/Mono.Posix/Test/Mono.Unix.Native/OFDLockTest.cs
Normal file
133
mcs/class/Mono.Posix/Test/Mono.Unix.Native/OFDLockTest.cs
Normal file
@@ -0,0 +1,133 @@
|
||||
//
|
||||
// Tests for FcntlCommand.F_OFD_{GETLK,SETLK,SETLKW}
|
||||
//
|
||||
// Authors:
|
||||
// Steffen Kiess (kiess@ki4.de)
|
||||
//
|
||||
// Copyright (C) 2019 Steffen Kiess
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using Mono.Unix;
|
||||
using Mono.Unix.Native;
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace MonoTests.Mono.Unix.Native
|
||||
{
|
||||
[TestFixture, Category ("NotDotNet"), Category ("NotOnWindows"), Category ("NotOnMac")]
|
||||
public class OFDLockTest {
|
||||
|
||||
string TempFolder;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp ()
|
||||
{
|
||||
TempFolder = Path.Combine (Path.GetTempPath (), this.GetType ().FullName);
|
||||
|
||||
if (Directory.Exists (TempFolder))
|
||||
Directory.Delete (TempFolder, true);
|
||||
|
||||
Directory.CreateDirectory (TempFolder);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
if (Directory.Exists (TempFolder))
|
||||
Directory.Delete (TempFolder, true);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestOFDLock ()
|
||||
{
|
||||
int fd1 = Syscall.open (TempFolder + "/testfile", OpenFlags.O_RDWR | OpenFlags.O_CREAT | OpenFlags.O_EXCL, FilePermissions.DEFFILEMODE);
|
||||
if (fd1 < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
int fd2 = Syscall.open (TempFolder + "/testfile", OpenFlags.O_RDWR);
|
||||
if (fd2 < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
int fd3 = Syscall.open (TempFolder + "/testfile", OpenFlags.O_RDWR);
|
||||
if (fd3 < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
|
||||
// Get read lock for first 100 bytes on fd1
|
||||
var flock1 = new Flock {
|
||||
l_type = LockType.F_RDLCK,
|
||||
l_whence = SeekFlags.SEEK_SET,
|
||||
l_start = 0,
|
||||
l_len = 100,
|
||||
};
|
||||
if (Syscall.fcntl (fd1, FcntlCommand.F_OFD_SETLKW, ref flock1) < 0) {
|
||||
// Old kernels and non-linux systems should return EINVAL
|
||||
if (Stdlib.GetLastError () == Errno.EINVAL)
|
||||
Assert.Ignore ("F_OFD_SETLKW does not seem to be supported.");
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
}
|
||||
|
||||
// Get read lock for first 100 bytes on fd2
|
||||
var flock2 = new Flock {
|
||||
l_type = LockType.F_RDLCK,
|
||||
l_whence = SeekFlags.SEEK_SET,
|
||||
l_start = 0,
|
||||
l_len = 100,
|
||||
};
|
||||
if (Syscall.fcntl (fd2, FcntlCommand.F_OFD_SETLK, ref flock2) < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
|
||||
// Get write lock for remaining bytes on fd1
|
||||
var flock3 = new Flock {
|
||||
l_type = LockType.F_WRLCK,
|
||||
l_whence = SeekFlags.SEEK_SET,
|
||||
l_start = 100,
|
||||
l_len = 0,
|
||||
};
|
||||
if (Syscall.fcntl (fd1, FcntlCommand.F_OFD_SETLK, ref flock3) < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
|
||||
// Close fd3, should not release lock
|
||||
if (Syscall.close (fd3) < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
|
||||
// Get lock status for byte 150 from fd2
|
||||
var flock4 = new Flock {
|
||||
l_type = LockType.F_RDLCK,
|
||||
l_whence = SeekFlags.SEEK_SET,
|
||||
l_start = 150,
|
||||
l_len = 1,
|
||||
};
|
||||
if (Syscall.fcntl (fd2, FcntlCommand.F_OFD_GETLK, ref flock4) < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
// There should be a conflicting write lock
|
||||
Assert.AreEqual (LockType.F_WRLCK, flock4.l_type);
|
||||
|
||||
// Get write byte 0 on fd1, should fail with EAGAIN
|
||||
var flock5 = new Flock {
|
||||
l_type = LockType.F_WRLCK,
|
||||
l_whence = SeekFlags.SEEK_SET,
|
||||
l_start = 0,
|
||||
l_len = 1,
|
||||
};
|
||||
var res = Syscall.fcntl (fd1, FcntlCommand.F_OFD_SETLK, ref flock5);
|
||||
Assert.AreEqual (-1, res);
|
||||
Assert.AreEqual (Errno.EAGAIN, Stdlib.GetLastError ());
|
||||
|
||||
if (Syscall.close (fd1) < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
if (Syscall.close (fd2) < 0)
|
||||
UnixMarshal.ThrowExceptionForLastError ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// vim: noexpandtab
|
||||
// Local Variables:
|
||||
// tab-width: 4
|
||||
// c-basic-offset: 4
|
||||
// indent-tabs-mode: t
|
||||
// End:
|
@@ -172,6 +172,7 @@ namespace Mono.Profiler.Log {
|
||||
Debugger = 13,
|
||||
Handle = 14,
|
||||
Ephemeron = 15,
|
||||
Toggleref = 16,
|
||||
}
|
||||
|
||||
// mono/profiler/log.h : MonoProfilerMonitorEvent
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user