Merge branch 'upstream'
Former-commit-id: 8ee14dfd8e6805804b5401149ab65132ff16f2d6
This commit is contained in:
commit
ba08552b8b
@ -1 +1 @@
|
|||||||
e4dbd55a6935d98c1061117e8bc216643726030d
|
8a367a10d831ba50730c5291b24e29d1f4d445d3
|
@ -1 +1 @@
|
|||||||
662a404734cf8813c639a09f84523e7ab398aaf0
|
a04bb48f853b87c4bc402467b1ac180fd2ca01ce
|
@ -1 +1 @@
|
|||||||
cd6b4d3f8c136b6d4635b6d9e4ee3fb53317ad1f
|
0f27d5dca93a66ef6d5377c8ded4782c7bddc1e6
|
@ -1 +1 @@
|
|||||||
44384220745bdb3ead5e68f414891ec50eec5569
|
505ae17b8dc98c3bbf1edd670f5bcc78ed694c38
|
@ -1 +1 @@
|
|||||||
44f13ddec9a8d9c04a955ae30eeba3a40f62c228
|
7778ed32622d805dcf7b92ebc3cb615205382a38
|
@ -1 +1 @@
|
|||||||
e1a3482dd9bf1a8d93cbd3aa5d470cfbc6f3ad69
|
ad43bd0bc249bd936072912d1338451bbadf2f3c
|
@ -1 +1 @@
|
|||||||
85e53fa31ae86cfa7512a7e8078a02f4174f02ec
|
1d07f529e45ff235d033ff3e01d19d8866105451
|
@ -1 +1 @@
|
|||||||
75f7be33bba50e7c6162cc7a0d1340853e6959f9
|
c1b96e23e4f3169d32fd0b3e2e81f63a56107ccc
|
@ -464,7 +464,7 @@ namespace System.Net.Http
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
return completionOption == HttpCompletionOption.ResponseContentRead ?
|
return completionOption == HttpCompletionOption.ResponseContentRead && !string.Equals(request.Method.Method, "HEAD", StringComparison.OrdinalIgnoreCase) ?
|
||||||
FinishSendAsyncBuffered(sendTask, request, cts, disposeCts) :
|
FinishSendAsyncBuffered(sendTask, request, cts, disposeCts) :
|
||||||
FinishSendAsyncUnbuffered(sendTask, request, cts, disposeCts);
|
FinishSendAsyncUnbuffered(sendTask, request, cts, disposeCts);
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ static partial class Consts
|
|||||||
// Use these assembly version constants to make code more maintainable.
|
// Use these assembly version constants to make code more maintainable.
|
||||||
//
|
//
|
||||||
|
|
||||||
public const string MonoVersion = "6.0.0.284";
|
public const string MonoVersion = "6.0.0.293";
|
||||||
public const string MonoCompany = "Mono development team";
|
public const string MonoCompany = "Mono development team";
|
||||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||||
public const string MonoCopyright = "(c) Various Mono authors";
|
public const string MonoCopyright = "(c) Various Mono authors";
|
||||||
|
@ -30,7 +30,7 @@ namespace System.Security.Cryptography.X509Certificates
|
|||||||
{
|
{
|
||||||
public static class RSACertificateExtensions
|
public static class RSACertificateExtensions
|
||||||
{
|
{
|
||||||
public static RSA GetRSAPrivateKey(this X509Certificate2 certificate)
|
public static RSA GetRSAPrivateKey (this X509Certificate2 certificate)
|
||||||
{
|
{
|
||||||
if (certificate == null)
|
if (certificate == null)
|
||||||
throw new ArgumentNullException (nameof (certificate));
|
throw new ArgumentNullException (nameof (certificate));
|
||||||
@ -41,11 +41,21 @@ namespace System.Security.Cryptography.X509Certificates
|
|||||||
return certificate.Impl.GetRSAPrivateKey ();
|
return certificate.Impl.GetRSAPrivateKey ();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RSA GetRSAPublicKey(this X509Certificate2 certificate)
|
public static RSA GetRSAPublicKey (this X509Certificate2 certificate)
|
||||||
{
|
{
|
||||||
if (certificate == null)
|
if (certificate == null)
|
||||||
throw new ArgumentNullException("certificate");
|
throw new ArgumentNullException (nameof (certificate));
|
||||||
return certificate.PublicKey.Key as RSA;
|
return certificate.PublicKey.Key as RSA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, RSA privateKey)
|
||||||
|
{
|
||||||
|
if (certificate == null)
|
||||||
|
throw new ArgumentNullException (nameof (certificate));
|
||||||
|
if (privateKey == null)
|
||||||
|
throw new ArgumentNullException (nameof (privateKey));
|
||||||
|
var impl = certificate.Impl.CopyWithPrivateKey (privateKey);
|
||||||
|
return (X509Certificate2)impl.CreateCertificate ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,8 +80,8 @@ namespace System.Net {
|
|||||||
if (!File.Exists (pvk_file))
|
if (!File.Exists (pvk_file))
|
||||||
return null;
|
return null;
|
||||||
var cert = new X509Certificate2 (cert_file);
|
var cert = new X509Certificate2 (cert_file);
|
||||||
cert.PrivateKey = PrivateKey.CreateFromFile (pvk_file).RSA;
|
var privateKey = PrivateKey.CreateFromFile (pvk_file).RSA;
|
||||||
certificate = cert;
|
certificate = new X509Certificate2 ((X509Certificate2Impl)cert.Impl.CopyWithPrivateKey (privateKey));
|
||||||
return certificate;
|
return certificate;
|
||||||
} catch {
|
} catch {
|
||||||
// ignore errors
|
// ignore errors
|
||||||
|
@ -83,6 +83,18 @@ namespace System.Security.Cryptography.X509Certificates
|
|||||||
|
|
||||||
public abstract void AppendPrivateKeyInfo (StringBuilder sb);
|
public abstract void AppendPrivateKeyInfo (StringBuilder sb);
|
||||||
|
|
||||||
|
public sealed override X509CertificateImpl CopyWithPrivateKey (RSA privateKey)
|
||||||
|
{
|
||||||
|
var impl = (X509Certificate2Impl)Clone ();
|
||||||
|
impl.PrivateKey = privateKey;
|
||||||
|
return impl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public sealed override X509Certificate CreateCertificate ()
|
||||||
|
{
|
||||||
|
return new X509Certificate2 (this);
|
||||||
|
}
|
||||||
|
|
||||||
public abstract void Reset ();
|
public abstract void Reset ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ using System.Text;
|
|||||||
|
|
||||||
namespace System.Reflection
|
namespace System.Reflection
|
||||||
{
|
{
|
||||||
|
[Serializable]
|
||||||
partial class MethodBase
|
partial class MethodBase
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
@ -123,6 +123,10 @@ namespace System.Security.Cryptography.X509Certificates
|
|||||||
|
|
||||||
public abstract byte[] Export (X509ContentType contentType, SafePasswordHandle password);
|
public abstract byte[] Export (X509ContentType contentType, SafePasswordHandle password);
|
||||||
|
|
||||||
|
public abstract X509CertificateImpl CopyWithPrivateKey (RSA privateKey);
|
||||||
|
|
||||||
|
public abstract X509Certificate CreateCertificate ();
|
||||||
|
|
||||||
public sealed override bool Equals (object obj)
|
public sealed override bool Equals (object obj)
|
||||||
{
|
{
|
||||||
var other = obj as X509CertificateImpl;
|
var other = obj as X509CertificateImpl;
|
||||||
|
@ -1 +1 @@
|
|||||||
7cd8184c6e906e7804425471eda17f75ade7c29f
|
581faec1da3d53a1134ed7c388537cfe101e007a
|
@ -1,4 +1,5 @@
|
|||||||
namespace System.Reflection {
|
namespace System.Reflection {
|
||||||
|
[Serializable]
|
||||||
partial class MethodInfo {
|
partial class MethodInfo {
|
||||||
internal virtual int GenericParameterCount => GetGenericArguments ().Length;
|
internal virtual int GenericParameterCount => GetGenericArguments ().Length;
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
0081ae35dbce9a10dcfd0a9a0a22e9690e19da56
|
8644f424bdc6234783527808eaf364fc4de93589
|
@ -1 +1 @@
|
|||||||
1cbed502c7bc7f3ee585f5a992af3439588908ee
|
04ac9ca261d369e0152cd185f329179981ae261c
|
@ -1 +1 @@
|
|||||||
de4610d6ed476d486c45dcda2a88ff584d1ff1c3
|
7f0002af7c012f940b77ef4faad9c0c76bbcd769
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
489d7ee861c287503c007ef4054371bb2650a61f
|
7b3eabaa8fc825740de557145177ada3805fa15c
|
@ -1 +1 @@
|
|||||||
0755b77099541d721dba6c265a09c09e9cc9d9be
|
aa3f20f4223ee894f821c81b5144d56c827dd529
|
@ -1 +1 @@
|
|||||||
ef2e4304281563bd8360933f8a58371f6e4dba90
|
67f564c659e3a210e285f362896772324d9c53d2
|
@ -1 +1 @@
|
|||||||
8a04fc03dae997ce5a67c88ff36d45e62465988c
|
bd292a0970d5b63a9eac50da950d1e21060bf470
|
@ -1 +1 @@
|
|||||||
13da60b713ea88aa40dfb5cac5b123260ecbe2b1
|
ca30e2abba5df571106821a1f43c06751ef65a0f
|
@ -1 +1 @@
|
|||||||
0081ae35dbce9a10dcfd0a9a0a22e9690e19da56
|
8644f424bdc6234783527808eaf364fc4de93589
|
@ -1 +1 @@
|
|||||||
1cbed502c7bc7f3ee585f5a992af3439588908ee
|
04ac9ca261d369e0152cd185f329179981ae261c
|
@ -1 +1 @@
|
|||||||
de4610d6ed476d486c45dcda2a88ff584d1ff1c3
|
7f0002af7c012f940b77ef4faad9c0c76bbcd769
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
489d7ee861c287503c007ef4054371bb2650a61f
|
7b3eabaa8fc825740de557145177ada3805fa15c
|
@ -1 +1 @@
|
|||||||
0755b77099541d721dba6c265a09c09e9cc9d9be
|
aa3f20f4223ee894f821c81b5144d56c827dd529
|
@ -1 +1 @@
|
|||||||
ef2e4304281563bd8360933f8a58371f6e4dba90
|
67f564c659e3a210e285f362896772324d9c53d2
|
@ -1 +1 @@
|
|||||||
8a04fc03dae997ce5a67c88ff36d45e62465988c
|
bd292a0970d5b63a9eac50da950d1e21060bf470
|
@ -1 +1 @@
|
|||||||
13da60b713ea88aa40dfb5cac5b123260ecbe2b1
|
ca30e2abba5df571106821a1f43c06751ef65a0f
|
@ -1 +1 @@
|
|||||||
0081ae35dbce9a10dcfd0a9a0a22e9690e19da56
|
8644f424bdc6234783527808eaf364fc4de93589
|
@ -1 +1 @@
|
|||||||
1cbed502c7bc7f3ee585f5a992af3439588908ee
|
04ac9ca261d369e0152cd185f329179981ae261c
|
@ -1 +1 @@
|
|||||||
de4610d6ed476d486c45dcda2a88ff584d1ff1c3
|
7f0002af7c012f940b77ef4faad9c0c76bbcd769
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
489d7ee861c287503c007ef4054371bb2650a61f
|
7b3eabaa8fc825740de557145177ada3805fa15c
|
@ -1 +1 @@
|
|||||||
0755b77099541d721dba6c265a09c09e9cc9d9be
|
aa3f20f4223ee894f821c81b5144d56c827dd529
|
@ -1 +1 @@
|
|||||||
ef2e4304281563bd8360933f8a58371f6e4dba90
|
67f564c659e3a210e285f362896772324d9c53d2
|
@ -1 +1 @@
|
|||||||
8a04fc03dae997ce5a67c88ff36d45e62465988c
|
bd292a0970d5b63a9eac50da950d1e21060bf470
|
@ -1 +1 @@
|
|||||||
13da60b713ea88aa40dfb5cac5b123260ecbe2b1
|
ca30e2abba5df571106821a1f43c06751ef65a0f
|
@ -1 +1 @@
|
|||||||
0081ae35dbce9a10dcfd0a9a0a22e9690e19da56
|
8644f424bdc6234783527808eaf364fc4de93589
|
@ -1 +1 @@
|
|||||||
1cbed502c7bc7f3ee585f5a992af3439588908ee
|
04ac9ca261d369e0152cd185f329179981ae261c
|
@ -1 +1 @@
|
|||||||
029790984b39c5f269604dd5b23d09490714e01e
|
31be7f777cf33257396b04d219664d710be1adf0
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
489d7ee861c287503c007ef4054371bb2650a61f
|
7b3eabaa8fc825740de557145177ada3805fa15c
|
@ -1 +1 @@
|
|||||||
0755b77099541d721dba6c265a09c09e9cc9d9be
|
aa3f20f4223ee894f821c81b5144d56c827dd529
|
@ -1 +1 @@
|
|||||||
ef2e4304281563bd8360933f8a58371f6e4dba90
|
67f564c659e3a210e285f362896772324d9c53d2
|
@ -1 +1 @@
|
|||||||
8a04fc03dae997ce5a67c88ff36d45e62465988c
|
bd292a0970d5b63a9eac50da950d1e21060bf470
|
@ -1 +1 @@
|
|||||||
2b47191e993569bb9dfb2ab9b483f0337516a99e
|
d10e802bc7866004ad9dce52c6f396a028f1d43e
|
@ -4,7 +4,7 @@ DIST_ONLY_SUBDIRS = certview
|
|||||||
include ../../build/rules.make
|
include ../../build/rules.make
|
||||||
|
|
||||||
LOCAL_MCS_FLAGS =
|
LOCAL_MCS_FLAGS =
|
||||||
LIB_REFS = Mono.Security System
|
LIB_REFS = Mono.Security System System.Core
|
||||||
|
|
||||||
SECURITY_PROGRAMS = secutil.exe cert2spc.exe sn.exe makecert.exe chktrust.exe crlupdate.exe \
|
SECURITY_PROGRAMS = secutil.exe cert2spc.exe sn.exe makecert.exe chktrust.exe crlupdate.exe \
|
||||||
signcode.exe setreg.exe certmgr.exe caspol.exe permview.exe mozroots.exe cert-sync.exe
|
signcode.exe setreg.exe certmgr.exe caspol.exe permview.exe mozroots.exe cert-sync.exe
|
||||||
@ -66,4 +66,4 @@ permview.exe: permview.cs
|
|||||||
$(CSCOMPILE) $^ $(HELPER_SOURCES) -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll -r:$(topdir)/class/lib/$(PROFILE)/Mono.Cecil.dll
|
$(CSCOMPILE) $^ $(HELPER_SOURCES) -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll -r:$(topdir)/class/lib/$(PROFILE)/Mono.Cecil.dll
|
||||||
|
|
||||||
%.exe: %.cs $(HELPER_SOURCES)
|
%.exe: %.cs $(HELPER_SOURCES)
|
||||||
$(CSCOMPILE) -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll -r:$(topdir)/class/lib/$(PROFILE)/Mono.Security.dll -r:$(topdir)/class/lib/$(PROFILE)/System.dll $^
|
$(CSCOMPILE) -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll -r:$(topdir)/class/lib/$(PROFILE)/Mono.Security.dll -r:$(topdir)/class/lib/$(PROFILE)/System.dll -r:$(topdir)/class/lib/$(PROFILE)/System.Core.dll $^
|
||||||
|
@ -202,7 +202,8 @@ namespace Mono.Tools {
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
X509Certificate2 x509 = new X509Certificate2 (cert);
|
X509Certificate2 x509 = new X509Certificate2 (cert);
|
||||||
x509.PrivateKey = PrivateKey.CreateFromFile (pvk).RSA;
|
var privateKey = PrivateKey.CreateFromFile (pvk).RSA;
|
||||||
|
x509 = x509.CopyWithPrivateKey ((RSA)privateKey);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Console.Error.WriteLine ("error loading certificate or private key [{0}]", e.Message);
|
Console.Error.WriteLine ("error loading certificate or private key [{0}]", e.Message);
|
||||||
Help (true);
|
Help (true);
|
||||||
|
@ -1009,6 +1009,7 @@ mono_marshal_get_xappdomain_invoke (MonoMethod *method, MonoError *error)
|
|||||||
|
|
||||||
marshal_types = g_newa (int, sig->param_count);
|
marshal_types = g_newa (int, sig->param_count);
|
||||||
complex_count = complex_out_count = 0;
|
complex_count = complex_out_count = 0;
|
||||||
|
gboolean has_byreflike = FALSE;
|
||||||
for (i = 0; i < sig->param_count; i++) {
|
for (i = 0; i < sig->param_count; i++) {
|
||||||
MonoType *ptype = sig->params[i];
|
MonoType *ptype = sig->params[i];
|
||||||
int mt = mono_get_xdomain_marshal_type (ptype);
|
int mt = mono_get_xdomain_marshal_type (ptype);
|
||||||
@ -1023,6 +1024,10 @@ mono_marshal_get_xappdomain_invoke (MonoMethod *method, MonoError *error)
|
|||||||
if (ptype->byref) complex_out_count++;
|
if (ptype->byref) complex_out_count++;
|
||||||
}
|
}
|
||||||
marshal_types [i] = mt;
|
marshal_types [i] = mt;
|
||||||
|
/* Can't make a xdomain wrapper for a method with an IsByRefLike result */
|
||||||
|
if (!ptype->byref && m_class_is_byreflike (mono_class_from_mono_type_internal (ptype))) {
|
||||||
|
has_byreflike = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sig->ret->type != MONO_TYPE_VOID) {
|
if (sig->ret->type != MONO_TYPE_VOID) {
|
||||||
@ -1031,9 +1036,25 @@ mono_marshal_get_xappdomain_invoke (MonoMethod *method, MonoError *error)
|
|||||||
copy_return = ret_marshal_type != MONO_MARSHAL_SERIALIZE;
|
copy_return = ret_marshal_type != MONO_MARSHAL_SERIALIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Can't make a xdomain wrapper for a method with an IsByRefLike result */
|
||||||
|
if (!sig->ret->byref && m_class_is_byreflike (mono_class_from_mono_type_internal (sig->ret))) {
|
||||||
|
has_byreflike = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Locals */
|
/* Locals */
|
||||||
|
|
||||||
#ifndef DISABLE_JIT
|
#ifndef DISABLE_JIT
|
||||||
|
if (has_byreflike) {
|
||||||
|
/* Make a wrapper that throws a NotImplementedException if it's ever called */
|
||||||
|
mono_mb_emit_exception (mb, "NotImplementedException", "Cross AppDomain calls with IsByRefLike parameter or return types are not implemented");
|
||||||
|
info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
|
||||||
|
info->d.remoting.method = method;
|
||||||
|
res = mono_remoting_mb_create_and_cache (method, mb, sig, sig->param_count + 16, info);
|
||||||
|
mono_mb_free (mb);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
MonoType *object_type = mono_get_object_type ();
|
MonoType *object_type = mono_get_object_type ();
|
||||||
MonoType *byte_array_type = m_class_get_byval_arg (byte_array_class);
|
MonoType *byte_array_type = m_class_get_byval_arg (byte_array_class);
|
||||||
MonoType *int32_type = mono_get_int32_type ();
|
MonoType *int32_type = mono_get_int32_type ();
|
||||||
|
@ -2001,6 +2001,13 @@ ncells ) {
|
|||||||
return gh_11378_inner_3 (new Vec3(0, 2, -20));
|
return gh_11378_inner_3 (new Vec3(0, 2, -20));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int variable_with_constant_address;
|
||||||
|
|
||||||
|
public static int test_0_cfold_with_non_constant_ternary_op () {
|
||||||
|
variable_with_constant_address = 0;
|
||||||
|
var old = System.Threading.Interlocked.CompareExchange(ref variable_with_constant_address, 1, 0);
|
||||||
|
return old == 0 && variable_with_constant_address == 1 ? 0 : 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if __MOBILE__
|
#if __MOBILE__
|
||||||
|
@ -826,6 +826,10 @@ evaluate_ins (MonoCompile *cfg, MonoInst *ins, MonoInst **res, MonoInst **carray
|
|||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
num_sregs = mono_inst_get_src_registers (ins, sregs);
|
num_sregs = mono_inst_get_src_registers (ins, sregs);
|
||||||
|
|
||||||
|
if (num_sregs > 2)
|
||||||
|
return 2;
|
||||||
|
|
||||||
for (i = 0; i < MONO_MAX_SRC_REGS; ++i)
|
for (i = 0; i < MONO_MAX_SRC_REGS; ++i)
|
||||||
args [i] = NULL;
|
args [i] = NULL;
|
||||||
for (i = 0; i < num_sregs; ++i) {
|
for (i = 0; i < num_sregs; ++i) {
|
||||||
|
@ -1 +1 @@
|
|||||||
#define FULL_VERSION "explicit/0349bbe"
|
#define FULL_VERSION "explicit/d572acd"
|
||||||
|
@ -10,8 +10,6 @@
|
|||||||
|
|
||||||
#if defined(__MACH__)
|
#if defined(__MACH__)
|
||||||
|
|
||||||
#define OBJC_OLD_DISPATCH_PROTOTYPES 1 // TODO remove once https://github.com/mono/mono/issues/14792 is fixed
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -66,7 +64,8 @@ mono_dead_letter_dealloc (id self, SEL _cmd)
|
|||||||
#else
|
#else
|
||||||
super.super_class = nsobject;
|
super.super_class = nsobject;
|
||||||
#endif
|
#endif
|
||||||
objc_msgSendSuper (&super, dealloc);
|
void (*objc_msgSendSuper_op)(struct objc_super *, SEL) = (void (*)(struct objc_super *, SEL)) objc_msgSendSuper;
|
||||||
|
objc_msgSendSuper_op (&super, dealloc);
|
||||||
|
|
||||||
mono_thread_info_detach ();
|
mono_thread_info_detach ();
|
||||||
}
|
}
|
||||||
@ -83,19 +82,20 @@ mono_threads_install_dead_letter (void)
|
|||||||
* It doesn't hurt on other architectures either, so no need to #ifdef it only for ARM64.
|
* It doesn't hurt on other architectures either, so no need to #ifdef it only for ARM64.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
id (*id_objc_msgSend)(id, SEL) = (id (*)(id, SEL)) objc_msgSend;
|
||||||
id (*id_objc_msgSend_id)(id, SEL, id) = (id (*)(id, SEL, id)) objc_msgSend;
|
id (*id_objc_msgSend_id)(id, SEL, id) = (id (*)(id, SEL, id)) objc_msgSend;
|
||||||
void (*objc_msgSend_id_id)(id, SEL, id, id) = (void (*)(id, SEL, id, id)) objc_msgSend;
|
void (*objc_msgSend_id_id)(id, SEL, id, id) = (void (*)(id, SEL, id, id)) objc_msgSend;
|
||||||
|
|
||||||
cur = objc_msgSend ((id)nsthread, currentThread);
|
cur = id_objc_msgSend ((id)nsthread, currentThread);
|
||||||
if (!cur)
|
if (!cur)
|
||||||
return;
|
return;
|
||||||
dict = objc_msgSend (cur, threadDictionary);
|
dict = id_objc_msgSend (cur, threadDictionary);
|
||||||
if (dict && id_objc_msgSend_id (dict, objectForKey, mono_dead_letter_key) == nil) {
|
if (dict && id_objc_msgSend_id (dict, objectForKey, mono_dead_letter_key) == nil) {
|
||||||
id value = objc_msgSend (objc_msgSend ((id)mono_dead_letter_class, alloc), init);
|
id value = id_objc_msgSend (id_objc_msgSend ((id)mono_dead_letter_class, alloc), init);
|
||||||
|
|
||||||
objc_msgSend_id_id (dict, setObjectForKey, value, mono_dead_letter_key);
|
objc_msgSend_id_id (dict, setObjectForKey, value, mono_dead_letter_key);
|
||||||
|
|
||||||
objc_msgSend (value, release);
|
id_objc_msgSend (value, release);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,13 +127,15 @@ mono_threads_init_dead_letter (void)
|
|||||||
class_addMethod (mono_dead_letter_class, dealloc, (IMP)mono_dead_letter_dealloc, "v@:");
|
class_addMethod (mono_dead_letter_class, dealloc, (IMP)mono_dead_letter_dealloc, "v@:");
|
||||||
objc_registerClassPair (mono_dead_letter_class);
|
objc_registerClassPair (mono_dead_letter_class);
|
||||||
|
|
||||||
|
id (*id_objc_msgSend)(id, SEL) = (id (*)(id, SEL)) objc_msgSend;
|
||||||
|
|
||||||
// create the dict key
|
// create the dict key
|
||||||
pool = objc_msgSend (objc_msgSend (nsautoreleasepool, alloc), init);
|
pool = id_objc_msgSend (id_objc_msgSend (nsautoreleasepool, alloc), init);
|
||||||
|
|
||||||
id (*objc_msgSend_char)(id, SEL, const char*) = (id (*)(id, SEL, const char*)) objc_msgSend;
|
id (*objc_msgSend_char)(id, SEL, const char*) = (id (*)(id, SEL, const char*)) objc_msgSend;
|
||||||
mono_dead_letter_key = objc_msgSend_char (nsstring, stringWithUTF8String, "mono-dead-letter");
|
mono_dead_letter_key = objc_msgSend_char (nsstring, stringWithUTF8String, "mono-dead-letter");
|
||||||
|
|
||||||
objc_msgSend (mono_dead_letter_key, retain);
|
id_objc_msgSend (mono_dead_letter_key, retain);
|
||||||
objc_msgSend (pool, release);
|
id_objc_msgSend (pool, release);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -516,8 +516,8 @@ distclean-generic:
|
|||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@echo "it deletes files that may require special tools to rebuild."
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
@ENABLE_MSVC_FALSE@install-exec-local:
|
|
||||||
@ENABLE_MSVC_FALSE@clean-local:
|
@ENABLE_MSVC_FALSE@clean-local:
|
||||||
|
@ENABLE_MSVC_FALSE@install-exec-local:
|
||||||
clean: clean-am
|
clean: clean-am
|
||||||
|
|
||||||
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
|
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
|
||||||
|
BIN
po/mcs/de.gmo
BIN
po/mcs/de.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
d2d046677f253f11e4b1fb4677692bb019af3fdc
|
8153848e0cf5c04a518896b7c1db61fdb904cb40
|
BIN
po/mcs/es.gmo
BIN
po/mcs/es.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
aca1a1a9bd3b093925511cedb1436dfe93b46a78
|
dc6a8eb0e58a5ae613ae32f79adf5f163c6d7fb7
|
BIN
po/mcs/ja.gmo
BIN
po/mcs/ja.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
9b10e2f843290ba167a32db005fdd532e1ef8e1f
|
bc994db68ef75d297a12d7754b17f8a0a0c6f9c3
|
@ -6,9 +6,9 @@
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mono 6.0.0.284\n"
|
"Project-Id-Version: mono 6.0.0.293\n"
|
||||||
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
|
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
|
||||||
"POT-Creation-Date: 2019-06-06 08:08+0000\n"
|
"POT-Creation-Date: 2019-06-08 08:06+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
BIN
po/mcs/pt_BR.gmo
BIN
po/mcs/pt_BR.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
a94486f75e80f406755249a0bcb76d7590076261
|
8984b60408acd86d498dda237d9ba800795c3c17
|
Loading…
x
Reference in New Issue
Block a user