Merge pull request #806 from AxlPr/master
[mono.git] / mcs / class / System / System.Net / ResponseStream.cs
index 31a0e66faa8e45cb0f98ed5f9685419d3e2eebfe..860509b9aceaa2776fb0bb105699e7a0d6fa528e 100644 (file)
@@ -26,7 +26,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0 && SECURITY_DEP
+#if SECURITY_DEP
 
 using System.IO;
 using System.Net.Sockets;
@@ -101,11 +101,14 @@ namespace System.Net {
 
                MemoryStream GetHeaders (bool closing)
                {
-                       if (response.HeadersSent)
-                               return null;
-                       MemoryStream ms = new MemoryStream ();
-                       response.SendHeaders (closing, ms);
-                       return ms;
+                       // SendHeaders works on shared headers
+                       lock (response.headers_lock) {
+                               if (response.HeadersSent)
+                                       return null;
+                               MemoryStream ms = new MemoryStream ();
+                               response.SendHeaders (closing, ms);
+                               return ms;
+                       }
                }
 
                public override void Flush ()