/[mldonkey]/mldonkey/src/utils/lib/unix32.ml
ViewVC logotype

Diff of /mldonkey/src/utils/lib/unix32.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.38 by spiralvoice, Mon Aug 29 14:54:59 2005 UTC revision 1.39 by spiralvoice, Fri Sep 2 22:39:59 2005 UTC
# Line 147  module FDCache = struct Line 147  module FDCache = struct
147        Unix2.rename t.filename (Filename.concat f file);        Unix2.rename t.filename (Filename.concat f file);
148        destroy t        destroy t
149    
150      let ftruncate64 t len =      let ftruncate64 t len sparse =
151        check_destroyed t;        check_destroyed t;
152        Unix2.c_ftruncate64 (local_force_fd t true) len        Unix2.c_ftruncate64 (local_force_fd t true) len sparse
153    
154      let getsize64 t writable =      let getsize64 t writable =
155        check_destroyed t;        check_destroyed t;
# Line 221  module type File =   sig Line 221  module type File =   sig
221        (Unix.file_descr -> int64 -> 'a) -> 'a        (Unix.file_descr -> int64 -> 'a) -> 'a
222      val close : t -> unit      val close : t -> unit
223      val rename : t -> string -> unit      val rename : t -> string -> unit
224      val ftruncate64 : t -> int64 -> unit      val ftruncate64 : t -> int64 -> bool -> unit
225      val getsize64 : t -> bool -> int64      val getsize64 : t -> bool -> int64
226      val mtime64 : t -> float      val mtime64 : t -> float
227      val exists : t -> bool      val exists : t -> bool
# Line 266  let zero_chunk_fd () = Line 266  let zero_chunk_fd () =
266      Some fd -> fd      Some fd -> fd
267    | None ->    | None ->
268        let fd = FDCache.create zero_chunk_name in        let fd = FDCache.create zero_chunk_name in
269        FDCache.ftruncate64 fd zero_chunk_len;        FDCache.ftruncate64 fd zero_chunk_len false;
270        zero_chunk_fd_option := Some fd;        zero_chunk_fd_option := Some fd;
271        fd        fd
272    
# Line 453  module MultiFile = struct Line 453  module MultiFile = struct
453        close t;        close t;
454        List.iter (fun file -> FDCache.multi_rename file.fd f file.filename) t.files        List.iter (fun file -> FDCache.multi_rename file.fd f file.filename) t.files
455    
456      let ftruncate64 t size =      let ftruncate64 t size sparse =
457        t.size <- size        t.size <- size
458    
459      let getsize64 t = t.size      let getsize64 t = t.size
# Line 782  module SparseFile = struct Line 782  module SparseFile = struct
782        ) t.files        ) t.files
783  *)  *)
784    
785      let ftruncate64 t size =      let ftruncate64 t size sparse =
786        t.size <- size        t.size <- size
787    
788      let getsize64 t writable = t.size      let getsize64 t writable = t.size
# Line 971  let create_sparsefile filename = Line 971  let create_sparsefile filename =
971    create filename (fun f ->    create filename (fun f ->
972        SparseFile (SparseFile.create f))        SparseFile (SparseFile.create f))
973    
974  let ftruncate64 t len =  let ftruncate64 t len sparse =
975    match t.file_kind with    match t.file_kind with
976    | DiskFile t -> DiskFile.ftruncate64 t len    | DiskFile t -> DiskFile.ftruncate64 t len sparse
977    | MultiFile t -> MultiFile.ftruncate64 t len    | MultiFile t -> MultiFile.ftruncate64 t len sparse
978    | SparseFile t -> SparseFile.ftruncate64 t len    | SparseFile t -> SparseFile.ftruncate64 t len sparse
979    | Destroyed -> failwith "Unix32.ftruncate64 on destroyed FD"    | Destroyed -> failwith "Unix32.ftruncate64 on destroyed FD"
980                
981  let mtime64 t =  let mtime64 t =
# Line 1389  overlaps different parts, but these part Line 1389  overlaps different parts, but these part
1389                
1390        iter t.file_parts        iter t.file_parts
1391            
1392      let ftruncate64 t len =      let ftruncate64 t len sparse =
1393        ftruncate64 t.file len        ftruncate64 t.file len sparse
1394            
1395      let maxint64 = megabytes 1000000      let maxint64 = megabytes 1000000
1396            

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26