* Make all UvRequest objects normal GC handles - This avoids the cost of using GCHandle.Alloc per operation. - It *does* mean that we need to explicitly dispose UvRequest objects after using them (which we did before anyways). This change does add a few try catch statements to make sure we always dispose the UvRequest if there are synchronous exceptions. - This is ~1.5% of the overhead in the benchmarks today - Keep track of all allocated UvRequest objects with a WeakReference in DEBUG and assert none are kept around after cleaning up. - Fixed a leak where we don't clean up UvWriteReq objects when writing to the named pipe. |
||
|---|---|---|
| .. | ||
| Microsoft.AspNetCore.Server.Kestrel.Core.Tests | ||
| Microsoft.AspNetCore.Server.Kestrel.FunctionalTests | ||
| Microsoft.AspNetCore.Server.Kestrel.Performance | ||
| Microsoft.AspNetCore.Server.Kestrel.Tests | ||
| Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests | ||
| shared | ||