X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem%2FSystem.Net%2FResponseStream.cs;h=860509b9aceaa2776fb0bb105699e7a0d6fa528e;hb=d24e0ade72ec565b767b1f45abaf1f2001b99d11;hp=31a0e66faa8e45cb0f98ed5f9685419d3e2eebfe;hpb=4e5e61cf501ef587ec36aaf80d04d734ca0efaca;p=mono.git diff --git a/mcs/class/System/System.Net/ResponseStream.cs b/mcs/class/System/System.Net/ResponseStream.cs index 31a0e66faa8..860509b9ace 100644 --- a/mcs/class/System/System.Net/ResponseStream.cs +++ b/mcs/class/System/System.Net/ResponseStream.cs @@ -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 ()