Merge pull request #2624 from ludovic-henry/monoerror-appdomain
[mono.git] / mcs / class / System / System.Net / ResponseStream.cs
index f93cf08e4984d266d3c0b3c849a3a033dbf468cb..860509b9aceaa2776fb0bb105699e7a0d6fa528e 100644 (file)
@@ -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 ()