Revision ad58ae426e7e9200530d18bf439d02657503426c authored by fclement on 23 November 2010, 11:33:06 UTC, committed by fclement on 23 November 2010, 11:33:06 UTC
1 parent 46f23e8
ChangeLog
###Date format: YYYY/MM/DD
2003/7/10: Fixed various serious bugs:
- closing of descriptor s in threaded mode's establish_smart_server
wreaked havoc as s is modified by other threads (fixed by removing)
- mutex in debug code was locked multiple times due to bested debug print calls
(fixed by not using the mutex in nested calls)
Added first consisten set of tests.
Removed Tests directory.
Stepped revision to 1.9
2003/7/02: Fixed errors in Loop handling (added EndOneLoop).
Added pardo scope protection.
Added handling of EoF in unsafe_really_read.
Discovered that there is a spurious process allocated
that does nothing (waits for a closure that never comes, then dies *)...
this points to an error in the vp allocation code in parp3l.ml
[FIXED RDC 2003/7/10]
2003/7/01: Changed the semantics to allow the use of skeleton-defined
stream functions inside an arbitrary Ocaml expression.
Now you use P3L skeletons as
let f = parfun (fun () -> seq (fun _ x -> x));;
...
pardo (fun () -> while !continue do ... f (P3lstream.of_list [x;y]@l) ... done);;
In this first experimental version the loop combinator is not guaranteed to be correct.
2003/6/10: Changed the user interface to allow streams
in the sequential implementation.
This implies that in every old program, any
function passed to the seq constructor needs an additional
(discarded, for now) argument.
let worker _ = fun n -> n;;
seq(worker)
Istead of the old
let worker = fun n -> n;;
seq(worker)
[RDC]
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...