/[mldonkey]/mldonkey/src/daemon/common/commonHasher.ml
ViewVC logotype

Diff of /mldonkey/src/daemon/common/commonHasher.ml

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

revision 1.5 by spiralvoice, Tue Jun 28 23:17:07 2005 UTC revision 1.6 by spiralvoice, Fri Jul 22 14:32:12 2005 UTC
# Line 34  type 'a job = { Line 34  type 'a job = {
34    
35  let (fifo : string job Fifo.t) = Fifo.create ()  let (fifo : string job Fifo.t) = Fifo.create ()
36  let current_job = ref None  let current_job = ref None
37      
38  external job_done : 'a job -> bool = "ml_job_done"  external job_done : 'a job -> bool = "ml_job_done"
39  external job_start : 'a job -> Unix.file_descr -> unit = "ml_job_start"  external job_start : 'a job -> Unix.file_descr -> unit = "ml_job_start"
40      
41  let _ =  let _ =
42    BasicSocket.add_infinite_timer 0.1 (fun _ ->    BasicSocket.add_infinite_timer 0.1 (fun _ ->
43  (*      lprintf "test job\n";  *)  (*      lprintf "test job\n";  *)
# Line 47  let _ = Line 47  let _ =
47          | Some (job, fd) ->          | Some (job, fd) ->
48  (*            lprintf "job done\n";  *)  (*            lprintf "job done\n";  *)
49              if job_done job then begin              if job_done job then begin
50                  if !verbose_md4 then begin                  if !verbose_md4 then
51                      lprintf "Job finished\n";                    lprintf_nl "[cHa] Job finished";
                   end;  
52                  current_job := None;                  current_job := None;
53                  Unix.close fd;                  Unix.close fd;
54                  (try job.job_handler job with e ->                  (try job.job_handler job with e ->
55                        lprintf "exception %s in job_handler\n"                        lprintf_nl "[cHa] exception %s in job_handler"
56                          (Printexc2.to_string e);                          (Printexc2.to_string e);
57                        );                        );
58                  raise Not_found                  raise Not_found
59                end                end
60        with _ ->        with _ ->
61    
62            let job = try Fifo.take fifo            let job = try Fifo.take fifo
63                  
64              with e ->              with e ->
65  (*                lprintf "No waiting job\n"; *)  (*                lprintf "No waiting job\n"; *)
66                  raise e                  raise e
67            in            in
# Line 71  let _ = Line 70  let _ =
70              let fd = Unix.openfile job.job_name [Unix.O_RDONLY] 0o444 in              let fd = Unix.openfile job.job_name [Unix.O_RDONLY] 0o444 in
71              current_job := Some (job, fd);              current_job := Some (job, fd);
72              if !verbose_md4 then begin              if !verbose_md4 then begin
73                  lprintf "Starting job %s %Ld %Ld %s\n" job.job_name                  lprintf_nl "[cHa] Starting job %s %Ld %Ld %s" job.job_name
74                    job.job_begin job.job_len                    job.job_begin job.job_len
75                    (match job.job_method with                    (match job.job_method with
76                      MD5 -> "MD5"                      MD5 -> "MD5"
77                    | TIGER -> "TIGER"                    | TIGER -> "TIGER"
78                    | SHA1 -> "SHA1"                    | SHA1 -> "SHA1"
79                    | MD4 -> "MD4");                    | MD4 -> "MD4");
80                end;                end;
81              job_start job fd;              job_start job fd;
82              if !verbose_md4 then begin              if !verbose_md4 then
83                  lprintf "Job started\n";                lprintf_nl "[cHa] Job started"
               end  
84            with e ->            with e ->
85                lprintf "Exception %s in starting job\n"                lprintf_nl "[cHa] Exception %s in starting job"
86                  (Printexc2.to_string e);                  (Printexc2.to_string e);
87    )    )
88      
89  let compute_md4 name begin_pos len f =  let compute_md4 name begin_pos len f =
90    let job = {    let job = {
91        job_name = name;        job_name = name;
# Line 99  let compute_md4 name begin_pos len f = Line 97  let compute_md4 name begin_pos len f =
97        job_error = false;        job_error = false;
98      } in      } in
99    Fifo.put fifo (Obj.magic job)    Fifo.put fifo (Obj.magic job)
100      
101  let compute_sha1 name begin_pos len f =  let compute_sha1 name begin_pos len f =
102    let job = {    let job = {
103        job_name = name;        job_name = name;
# Line 111  let compute_sha1 name begin_pos len f = Line 109  let compute_sha1 name begin_pos len f =
109        job_error = false;        job_error = false;
110      } in      } in
111    Fifo.put fifo (Obj.magic job)    Fifo.put fifo (Obj.magic job)
112      
113  let compute_md5 name begin_pos len f =  let compute_md5 name begin_pos len f =
114    let job = {    let job = {
115        job_name = name;        job_name = name;
# Line 123  let compute_md5 name begin_pos len f = Line 121  let compute_md5 name begin_pos len f =
121        job_error = false;        job_error = false;
122      } in      } in
123    Fifo.put fifo (Obj.magic job)    Fifo.put fifo (Obj.magic job)
124      
125  let compute_tiger name begin_pos len f =  let compute_tiger name begin_pos len f =
126    let job = {    let job = {
127        job_name = name;        job_name = name;
# Line 135  let compute_tiger name begin_pos len f = Line 133  let compute_tiger name begin_pos len f =
133        job_error = false;        job_error = false;
134      } in      } in
135    Fifo.put fifo (Obj.magic job)    Fifo.put fifo (Obj.magic job)
     

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

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