You've already forked linux-packaging-mono
Imported Upstream version 4.2.0.179
Former-commit-id: 4610231f55806d2a05ed69e5ff3faa7336cc1479
This commit is contained in:
committed by
Jo Shields
parent
aa7da660d6
commit
c042cd0c52
@@ -66,6 +66,8 @@ namespace System.Net
|
||||
|
||||
public void Close ()
|
||||
{
|
||||
List<WebConnection> connectionsToClose = null;
|
||||
|
||||
//TODO: what do we do with the queue? Empty it out and abort the requests?
|
||||
//TODO: abort requests or wait for them to finish
|
||||
lock (sPoint) {
|
||||
@@ -76,7 +78,17 @@ namespace System.Net
|
||||
var node = iter;
|
||||
iter = iter.Next;
|
||||
|
||||
// Closing connections inside the lock leads to a deadlock.
|
||||
if (connectionsToClose == null)
|
||||
connectionsToClose = new List<WebConnection>();
|
||||
|
||||
connectionsToClose.Add (cnc);
|
||||
connections.Remove (node);
|
||||
}
|
||||
}
|
||||
|
||||
if (connectionsToClose != null) {
|
||||
foreach (var cnc in connectionsToClose) {
|
||||
cnc.Close (false);
|
||||
OnConnectionClosed ();
|
||||
}
|
||||
|
Reference in New Issue
Block a user