Imported Upstream version 5.20.1.3

Former-commit-id: c0dbb88f7549c374316c95af3cf6b4a8c7d66bfe
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-03-20 08:22:07 +00:00
parent 6008c1b5ce
commit b501216e0b
50 changed files with 121 additions and 57 deletions

View File

@ -34,7 +34,7 @@ static class Consts
// Use these assembly version constants to make code more maintainable.
//
public const string MonoVersion = "5.20.1.0";
public const string MonoVersion = "5.20.1.3";
public const string MonoCompany = "Mono development team";
public const string MonoProduct = "Mono Common Language Infrastructure";
public const string MonoCopyright = "(c) Various Mono authors";

View File

@ -41,7 +41,8 @@ namespace System.ServiceModel.Channels
{
HttpChannelFactory<IRequestChannel> source;
List<WebRequest> web_requests = new List<WebRequest> ();
object locker = new object();
List<WebRequest> web_requests = new List<WebRequest> (); //synced by locker
// Constructor
@ -86,7 +87,12 @@ namespace System.ServiceModel.Channels
}
var web_request = (HttpWebRequest) HttpWebRequest.Create (destination);
web_requests.Add (web_request);
lock (locker)
{
web_requests.Add (web_request);
}
result.WebRequest = web_request;
web_request.Method = "POST";
web_request.ContentType = Encoder.ContentType;
@ -350,9 +356,20 @@ namespace System.ServiceModel.Channels
protected override void OnAbort ()
{
foreach (var web_request in web_requests.ToArray ())
WebRequest[] current_web_requests;
lock (locker)
{
current_web_requests = web_requests.ToArray();
}
foreach (var web_request in current_web_requests)
web_request.Abort ();
web_requests.Clear ();
lock(locker)
{
web_requests.Clear ();
}
}
// Close
@ -497,7 +514,10 @@ namespace System.ServiceModel.Channels
void Cleanup ()
{
owner.web_requests.Remove (WebRequest);
lock (owner.locker)
{
owner.web_requests.Remove (WebRequest);
}
}
}
}

View File

@ -1 +1 @@
df5a5fc92d7905ebf7afbf917ca6f1122e507f60
ae45d263adda87b3d33397c470a2fd1f4755187d

View File

@ -1 +1 @@
0687a5d2f6021f1362f95c4a9c49b42ff6f4a9c6
60a6339b6c14d7868129f347b15f3dd086ae01b5

View File

@ -1 +1 @@
e722d044d5e351ccfde65c270f8bcf11cb8dd1b1
369ff3864f283c17c1c752eb0f0da156ad05617f

View File

@ -1 +1 @@
63967ebdb25eb87385c0ddd1bb0e7d613e667454
180c38a8bdc36a60626e44ed7920cc1e0e25d9c9

View File

@ -1 +1 @@
38c6703f1e110a77aec611606f421524a10aaea0
ad1a8440cd8a7b65154e2143b28502f22ceedf59

View File

@ -1 +1 @@
6e424b13b6a523109871a5892de9c92309e8a794
c3a7f19271ebc7b4a9bc655e58c899da6d3b3669

View File

@ -1 +1 @@
b732d0e8f434ee2be69e269693879a25d0ea8869
dc42b64cdc4b9ae2ca91d631e08778f7e9eb6a8d

View File

@ -1 +1 @@
df5a5fc92d7905ebf7afbf917ca6f1122e507f60
ae45d263adda87b3d33397c470a2fd1f4755187d

View File

@ -1 +1 @@
0687a5d2f6021f1362f95c4a9c49b42ff6f4a9c6
60a6339b6c14d7868129f347b15f3dd086ae01b5

View File

@ -1 +1 @@
e722d044d5e351ccfde65c270f8bcf11cb8dd1b1
369ff3864f283c17c1c752eb0f0da156ad05617f

View File

@ -1 +1 @@
63967ebdb25eb87385c0ddd1bb0e7d613e667454
180c38a8bdc36a60626e44ed7920cc1e0e25d9c9

View File

@ -1 +1 @@
38c6703f1e110a77aec611606f421524a10aaea0
ad1a8440cd8a7b65154e2143b28502f22ceedf59

View File

@ -1 +1 @@
6e424b13b6a523109871a5892de9c92309e8a794
c3a7f19271ebc7b4a9bc655e58c899da6d3b3669

View File

@ -1 +1 @@
b732d0e8f434ee2be69e269693879a25d0ea8869
dc42b64cdc4b9ae2ca91d631e08778f7e9eb6a8d

View File

@ -1 +1 @@
df5a5fc92d7905ebf7afbf917ca6f1122e507f60
ae45d263adda87b3d33397c470a2fd1f4755187d

View File

@ -1 +1 @@
0687a5d2f6021f1362f95c4a9c49b42ff6f4a9c6
60a6339b6c14d7868129f347b15f3dd086ae01b5

Some files were not shown because too many files have changed in this diff Show More