357 |
let temp_filename = Filename.concat dirname filename in |
let temp_filename = Filename.concat dirname filename in |
358 |
Unix2.safe_mkdir (Filename.dirname temp_filename); |
Unix2.safe_mkdir (Filename.dirname temp_filename); |
359 |
let fd = FDCache.create temp_filename in |
let fd = FDCache.create temp_filename in |
360 |
let _ = FDCache.local_force_fd fd true in |
let cur_len = ref Int64.zero in |
361 |
|
if not (Unix2.is_directory temp_filename) then |
362 |
|
begin |
363 |
|
ignore(FDCache.local_force_fd fd true); |
364 |
|
cur_len := FDCache.getsize64 fd true; |
365 |
|
end; |
366 |
iter tail (pos ++ size) |
iter tail (pos ++ size) |
367 |
({ |
({ |
368 |
filename = filename; |
filename = filename; |
369 |
pos = pos; |
pos = pos; |
370 |
len = size; |
len = size; |
371 |
current_len = FDCache.getsize64 fd true; |
current_len = !cur_len; |
372 |
fd = fd; |
fd = fd; |
373 |
tail = []; |
tail = []; |
374 |
} :: files2) |
} :: files2) |