Преглед на файлове

2004-12-05 Gonzalo Paniagua Javier <[email protected]>

	* WebConnection.cs: readd prevStream. Caused regressions.


svn path=/trunk/mcs/; revision=37149
Gonzalo Paniagua Javier преди 21 години
родител
ревизия
2291c0be52
променени са 2 файла, в които са добавени 13 реда и са изтрити 0 реда
  1. 4 0
      mcs/class/System/System.Net/ChangeLog
  2. 9 0
      mcs/class/System/System.Net/WebConnection.cs

+ 4 - 0
mcs/class/System/System.Net/ChangeLog

@@ -1,3 +1,7 @@
+2004-12-05 Gonzalo Paniagua Javier <[email protected]>
+
+	* WebConnection.cs: readd prevStream. Caused regressions.
+
 2004-12-04 Gonzalo Paniagua Javier <[email protected]>
 
 	* WebConnection.cs: handle errors on chunked streams. Fixes bug #66858.

+ 9 - 0
mcs/class/System/System.Net/WebConnection.cs

@@ -61,6 +61,7 @@ namespace System.Net
 		EventHandler abortHandler;
 		ReadState readState;
 		internal WebConnectionData Data;
+		WebConnectionStream prevStream;
 		bool chunkedRead;
 		ChunkStream chunkStream;
 		AutoResetEvent goAhead;
@@ -378,6 +379,7 @@ namespace System.Net
 					if (cnc.queue.Count > 0) {
 						stream.ReadAll ();
 					} else {
+						cnc.prevStream = stream;
 						stream.CheckComplete ();
 					}
 				}
@@ -551,6 +553,11 @@ namespace System.Net
 		internal EventHandler SendRequest (HttpWebRequest request)
 		{
 			lock (this) {
+				if (prevStream != null && socket != null && socket.Connected) {
+					prevStream.ReadAll ();
+					prevStream = null;
+				}
+
 				if (!busy) {
 					busy = true;
 					ThreadPool.RegisterWaitForSingleObject (goAhead, initConn,
@@ -569,6 +576,7 @@ namespace System.Net
 		{
 			lock (queue) {
 				if (queue.Count > 0) {
+					prevStream = null;
 					SendRequest ((HttpWebRequest) queue.Dequeue ());
 				}
 			}
@@ -594,6 +602,7 @@ namespace System.Net
 				goAhead.Set ();
 				lock (queue) {
 					if (queue.Count > 0) {
+						prevStream = null;
 						SendRequest ((HttpWebRequest) queue.Dequeue ());
 					}
 				}