Changeset 37 for trunk/UFileStreamEx.pas
- Timestamp:
- Dec 10, 2016, 10:36:38 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UFileStreamEx.pas
r31 r37 44 44 45 45 uses 46 RtlConsts , BaseUnix;46 RtlConsts{$IFDEF Linux}, BaseUnix{$ENDIF}; 47 47 48 48 const … … 69 69 LinuxFlags: Longint; 70 70 begin 71 {$IFDEF Linux} 71 72 LinuxFlags := 0; 72 73 case (Mode and (fmOpenRead or fmOpenWrite or fmOpenReadWrite)) of … … 84 85 85 86 //Result := DoFileLocking(Result, Mode); 87 {$ENDIF} 86 88 end; 87 89 … … 91 93 LinuxFlags: Longint; 92 94 begin 95 {$IFDEF Linux} 93 96 LinuxFlags := O_RDWR or O_CREAT or O_TRUNC; 94 97 if ffDirect in Flags then LinuxFlags := LinuxFlags or O_DIRECT; … … 98 101 Result := fpOpen(pointer(SystemFileName), LinuxFlags); 99 102 until (Result <> -1) or (fpgeterrno <> ESysEINTR); 103 {$ENDIF} 100 104 end; 101 105 … … 105 109 LinuxFlags: Longint; 106 110 begin 111 {$IFDEF Linux} 107 112 LinuxFlags := O_RDWR or O_CREAT or O_TRUNC; 108 113 if ffDirect in Flags then LinuxFlags := LinuxFlags or O_DIRECT; … … 112 117 Result := fpOpen(pointer(SystemFileName), LinuxFlags, Rights); 113 118 until (Result <> -1) or (fpgeterrno <> ESysEINTR); 119 {$ENDIF} 114 120 end; 115 121 … … 122 128 function FileReadEx(Handle: Longint; out Buffer; Count: Longint): Longint; 123 129 begin 130 {$IFDEF Linux} 124 131 repeat 125 132 Result := fpRead(Handle, Buffer, Count); 126 133 until (Result <> -1) or (fpgeterrno <> ESysEINTR); 134 {$ENDIF} 127 135 end; 128 136 129 137 function FileWriteEx(Handle: Longint; const Buffer; Count: Longint): Longint; 130 138 begin 139 {$IFDEF Linux} 131 140 repeat 132 141 Result := fpWrite(Handle, Buffer, Count); 133 142 until (Result <> -1) or (fpgeterrno <> ESysEINTR); 143 {$ENDIF} 134 144 end; 135 145
Note:
See TracChangeset
for help on using the changeset viewer.