diff --git a/lib/csharp/src/Server/TServer.cs b/lib/csharp/src/Server/TServer.cs
index b168d99..a9b2816 100644
--- a/lib/csharp/src/Server/TServer.cs
+++ b/lib/csharp/src/Server/TServer.cs
@@ -103,6 +103,8 @@
 		 * The run method fires up the server and gets things going.
 		 */
 		public abstract void Serve();
+
+		public abstract void Stop();
 	}
 }
 
diff --git a/lib/csharp/src/Server/TSimpleServer.cs b/lib/csharp/src/Server/TSimpleServer.cs
index b2a70fe..ff59fc3 100644
--- a/lib/csharp/src/Server/TSimpleServer.cs
+++ b/lib/csharp/src/Server/TSimpleServer.cs
@@ -22,6 +22,7 @@
 	/// </summary>
 	class TSimpleServer : TServer
 	{
+		private bool stop = false;
 		public TSimpleServer(TProcessor processor,
 						  TServerTransport serverTransport)
 			:base(processor, serverTransport, new TTransportFactory(), new TTransportFactory(), new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory())
@@ -65,7 +66,7 @@
 				return;
 			}
 
-			while (true)
+			while (!stop)
 			{
 				TTransport client = null;
 				TTransport inputTransport = null;
@@ -103,6 +104,24 @@
 					outputTransport.Close();
 				}
 			}
+
+			if (stop)
+			{
+				try
+				{
+					serverTransport.Close();
+				}
+				catch (TTransportException ttx)
+				{
+					Console.Error.WriteLine("TServerTrasnport failed on close: " + ttx.Message);
+				}
+				stop = false;
+			}
+		}
+
+		public override void Stop()
+		{
+			stop = true;
 		}
 	}
 }
diff --git a/lib/csharp/src/Server/TThreadPoolServer.cs b/lib/csharp/src/Server/TThreadPoolServer.cs
index b62de81..f8ee355 100644
--- a/lib/csharp/src/Server/TThreadPoolServer.cs
+++ b/lib/csharp/src/Server/TThreadPoolServer.cs
@@ -25,6 +25,7 @@
 	{
 		private const int DEFAULT_MIN_THREADS = 10;
 		private const int DEFAULT_MAX_THREADS = 100;
+		private volatile bool stop = false;
 
 		public TThreadPoolServer(TProcessor processor, TServerTransport serverTransport)
 			:this(processor, serverTransport,
@@ -81,7 +82,7 @@
 				return;
 			}
 
-			while (true)
+			while (!stop)
 			{
 				int failureCount = 0;
 				try
@@ -95,6 +96,25 @@
 					Console.Error.WriteLine(ttx);
 				}
 			}
+
+			if (stop)
+			{
+				try
+				{
+					serverTransport.Close();
+				}
+				catch (TTransportException ttx)
+				{
+					Console.Error.WriteLine("TServerTrasnport failed on close: " + ttx.Message);
+				}
+				stop = false;
+			}
+		}
+
+
+		public override void Stop()
+		{
+			stop = true;
 		}
 
 		/// <summary>
