Browse Source

--- Merging r22447 into '.':
U packages/fcl-web/src/base/fpwebfile.pp
U packages/fcl-web/src/base/fphttpclient.pp
U packages/fcl-web/src/base/httpdefs.pp

# revisions: 22447
r22447 | michael | 2012-09-24 11:00:52 +0200 (Mon, 24 Sep 2012) | 1 line
Changed paths:
M /trunk/packages/fcl-web/src/base/fphttpclient.pp
M /trunk/packages/fcl-web/src/base/fpwebfile.pp
M /trunk/packages/fcl-web/src/base/httpdefs.pp

* Take care of locking when reading a file.

git-svn-id: branches/fixes_2_6@22690 -

marco 13 years ago
parent
commit
afddfb1c6d

+ 1 - 1
packages/fcl-web/src/base/fphttpclient.pp

@@ -935,7 +935,7 @@ begin
   SS:=TStringStream.Create(s);
   SS:=TStringStream.Create(s);
   try
   try
     SS.Seek(0,soFromEnd);
     SS.Seek(0,soFromEnd);
-    F:=TFileStream.Create(AFileName,fmOpenRead);
+    F:=TFileStream.Create(AFileName,fmOpenRead or fmShareDenyWrite);
     try
     try
       SS.CopyFrom(F,F.Size);
       SS.CopyFrom(F,F.Size);
     finally
     finally

+ 1 - 1
packages/fcl-web/src/base/fpwebfile.pp

@@ -129,7 +129,7 @@ begin
   AResponse.ContentType:=MimeTypes.GetMimeType(ExtractFileExt(AFileName));
   AResponse.ContentType:=MimeTypes.GetMimeType(ExtractFileExt(AFileName));
   If (AResponse.ContentType='') then
   If (AResponse.ContentType='') then
     AResponse.ContentType:='Application/octet-stream';
     AResponse.ContentType:='Application/octet-stream';
-  F:=TFileStream.Create(AFileName,fmOpenRead);
+  F:=TFileStream.Create(AFileName,fmOpenRead or fmShareDenyWrite);
   try
   try
     AResponse.ContentLength:=F.Size;
     AResponse.ContentLength:=F.Size;
     AResponse.ContentStream:=F;
     AResponse.ContentStream:=F;

+ 1 - 1
packages/fcl-web/src/base/httpdefs.pp

@@ -1469,7 +1469,7 @@ begin
     begin
     begin
     If (FLocalFileName='') then
     If (FLocalFileName='') then
       Raise HTTPError.Create(SErrInternalUploadedFileError);
       Raise HTTPError.Create(SErrInternalUploadedFileError);
-    FStream:=TFileStream.Create(FLocalFileName,fmOpenRead);
+    FStream:=TFileStream.Create(FLocalFileName,fmOpenRead or fmShareDenyWrite);
     end;
     end;
   Result:=FStream;
   Result:=FStream;
 end;
 end;