[Modify] Remove it
This commit is contained in:
parent
430173bf43
commit
9ec4a086d3
@ -596,55 +596,6 @@ namespace WebSocketSharp.Net
|
||||
leaveIfNoPrefix ();
|
||||
}
|
||||
|
||||
public void RemovePrefix (HttpListenerPrefix prefix, HttpListener listener)
|
||||
{
|
||||
List<HttpListenerPrefix> current, future;
|
||||
if (prefix.Host == "*") {
|
||||
do {
|
||||
current = _unhandled;
|
||||
if (current == null)
|
||||
break;
|
||||
|
||||
future = new List<HttpListenerPrefix> (current);
|
||||
if (!removeSpecial (future, prefix))
|
||||
break; // The prefix wasn't found.
|
||||
}
|
||||
while (Interlocked.CompareExchange (ref _unhandled, future, current) != current);
|
||||
|
||||
leaveIfNoPrefix ();
|
||||
return;
|
||||
}
|
||||
|
||||
if (prefix.Host == "+") {
|
||||
do {
|
||||
current = _all;
|
||||
if (current == null)
|
||||
break;
|
||||
|
||||
future = new List<HttpListenerPrefix> (current);
|
||||
if (!removeSpecial (future, prefix))
|
||||
break; // The prefix wasn't found.
|
||||
}
|
||||
while (Interlocked.CompareExchange (ref _all, future, current) != current);
|
||||
|
||||
leaveIfNoPrefix ();
|
||||
return;
|
||||
}
|
||||
|
||||
Dictionary<HttpListenerPrefix, HttpListener> prefs, prefs2;
|
||||
do {
|
||||
prefs = _prefixes;
|
||||
if (!prefs.ContainsKey (prefix))
|
||||
break;
|
||||
|
||||
prefs2 = new Dictionary<HttpListenerPrefix, HttpListener> (prefs);
|
||||
prefs2.Remove (prefix);
|
||||
}
|
||||
while (Interlocked.CompareExchange (ref _prefixes, prefs2, prefs) != prefs);
|
||||
|
||||
leaveIfNoPrefix ();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user