File mono-72717f246952736bc1d384c77045c0565b557e5c.diff of Package xsp
diff --git a/src/Mono.WebServer/BaseRequestBroker.cs b/src/Mono.WebServer/BaseRequestBroker.cs
index 70602d78..e9e667a7 100644
--- a/src/Mono.WebServer/BaseRequestBroker.cs
+++ b/src/Mono.WebServer/BaseRequestBroker.cs
@@ -72,8 +72,9 @@ public class BaseRequestBroker: MarshalByRefObject, IRequestBroker
/// </summary>
/// <returns>ID to use for a new request.</returns>
/// <param name="curlen">Current length of the allocation tables.</param>
- int GrowRequests (ref int curlen)
+ int GrowRequests ()
{
+ int curlen = request_ids.Length;
int newsize = curlen + curlen/3;
var new_request_ids = new int [newsize];
var new_requests = new Worker [newsize];
@@ -91,8 +92,7 @@ int GrowRequests (ref int curlen)
Array.Clear (buffers, 0, buffers.Length);
buffers = new_buffers;
- curlen = newsize;
- return curlen + 1;
+ return curlen;
}
/// <summary>
@@ -115,7 +115,7 @@ int GetNextRequestId ()
int newid;
if (requests_count >= reqlen)
- newid = GrowRequests (ref reqlen);
+ newid = GrowRequests ();
else
newid = Array.IndexOf (request_ids, 0);