Changeset 89 for trunk/src/directory_tester.erl
- Timestamp:
- 08/07/09 06:22:22 (3 years ago)
- File:
-
- 1 edited
-
trunk/src/directory_tester.erl (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/directory_tester.erl
r85 r89 4 4 5 5 -module(directory_tester). 6 -export ([init/2]). 7 -export ([init/1]). 6 -export ([init/1, init/2]). 7 -export ([run_once/1, run_once/2]). 8 9 run_once ([Directory, Node]) when is_list (Node) -> 10 run_once (Directory, list_to_atom (Node)). 11 12 run_once (Directory, Node) -> 13 run (start (Directory, Node)). 8 14 9 15 init ([Directory, Node]) when is_list (Node) -> … … 11 17 12 18 init (Directory, Node) -> 19 loop (start (Directory, Node)). 20 21 start (Directory, Node) -> 13 22 Compiler = spawn_link (compiler, init, [notify_me (compiler), Directory]), 14 23 Tester = spawn_link (tester, init, [notify_me (tester), Node]), 15 24 Compiler ! check, 16 25 Printer = spawn_link (text_printer, init, [standard_io]), 17 loop (Compiler, Tester, Printer).26 {Compiler, Tester, Printer}. 18 27 19 28 notify_me (Atom) -> 20 29 Parent = self (), 21 30 fun (Event) -> 22 Parent ! { self (), Atom, Event}31 Parent ! {notify, {self (), Atom, Event}} 23 32 end. 24 33 25 loop ( Compiler, Tester, Printer) ->34 loop ({Compiler, Tester, Printer}) -> 26 35 receive 27 36 stop -> 28 37 Compiler ! {self (), stop}, 29 Tester ! stop;30 { Compiler, compiler, {{binaries, Bs}, {removed, Rs}}} ->38 Tester ! {self (), stop}; 39 {notify, {Compiler, compiler, {{binaries, Bs}, {removed, Rs}}}} -> 31 40 delete (Rs, Tester), 32 41 run (Bs, Tester), 33 loop ( Compiler, Tester, Printer);34 Event->42 loop ({Compiler, Tester, Printer}); 43 {notify, Event} -> 35 44 Printer ! Event, 36 loop ( Compiler, Tester, Printer)45 loop ({Compiler, Tester, Printer}) 37 46 after 4000 -> 38 47 Compiler ! check, 39 loop (Compiler, Tester, Printer) 48 loop ({Compiler, Tester, Printer}) 49 end. 50 51 run ({Compiler, Tester, Printer}) -> 52 receive 53 {notify, {Compiler, compiler, {{binaries, Bs}, {removed, Rs}}}} -> 54 Compiler ! {self (), stop}, 55 delete (Rs, Tester), 56 run (Bs, Tester), 57 Tester ! {self (), stop}, 58 run ({Compiler, Tester, Printer}); 59 {notify, Event} -> 60 Printer ! Event, 61 run ({Compiler, Tester, Printer}); 62 {Tester, bye} -> 63 done; 64 {_, bye} -> 65 run ({Compiler, Tester, Printer}) 40 66 end. 41 67
Note: See TracChangeset
for help on using the changeset viewer.
