THRIFT-5623 ref to disposed instance should be set to null
Client: netstd
Patch: Jens Geyer
plus some improvements regarding error outputs
diff --git a/lib/netstd/Thrift/Transport/Server/TNamedPipeServerTransport.cs b/lib/netstd/Thrift/Transport/Server/TNamedPipeServerTransport.cs
index e985a29..7c94300 100644
--- a/lib/netstd/Thrift/Transport/Server/TNamedPipeServerTransport.cs
+++ b/lib/netstd/Thrift/Transport/Server/TNamedPipeServerTransport.cs
@@ -278,7 +278,7 @@
private class ServerTransport : TEndpointTransport
{
- private readonly NamedPipeServerStream PipeStream;
+ private NamedPipeServerStream PipeStream;
public ServerTransport(NamedPipeServerStream stream, TConfiguration config)
: base(config)
@@ -297,6 +297,7 @@
public override void Close()
{
PipeStream?.Dispose();
+ PipeStream = null;
}
public override async ValueTask<int> ReadAsync(byte[] buffer, int offset, int length, CancellationToken cancellationToken)
diff --git a/test/netstd/Client/TestClient.cs b/test/netstd/Client/TestClient.cs
index 4700de8..1227a38 100644
--- a/test/netstd/Client/TestClient.cs
+++ b/test/netstd/Client/TestClient.cs
@@ -407,7 +407,7 @@
{
Console.WriteLine("*** FAILED ***");
Console.WriteLine("Error while parsing arguments");
- Console.WriteLine(ex.Message + "\n" + ex.StackTrace);
+ Console.WriteLine("{0} {1}\nStack:\n{2}", ex.GetType().Name, ex.Message, ex.StackTrace);
return ErrorUnknown;
}
diff --git a/test/netstd/Server/TestServer.cs b/test/netstd/Server/TestServer.cs
index 71a2a30..27577ee 100644
--- a/test/netstd/Server/TestServer.cs
+++ b/test/netstd/Server/TestServer.cs
@@ -579,7 +579,7 @@
{
Console.WriteLine("*** FAILED ***");
Console.WriteLine("Error while parsing arguments");
- Console.WriteLine(ex.Message + " ST: " + ex.StackTrace);
+ Console.WriteLine("{0} {1}\nStack:\n{2}", ex.GetType().Name, ex.Message, ex.StackTrace);
return 1;
}