Changeset 65 for trunk


Ignore:
Timestamp:
07/14/09 05:50:50 (3 years ago)
Author:
dom
Message:

Compiler can now be stopped.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/compiler.erl

    r64 r65  
    77 
    88loop (Notify, Watcher, Modules) -> 
    9     receive check -> Watcher ! check end, 
    10     receive_files (Notify, Watcher, Modules, Modules). 
     9    receive 
     10        check -> 
     11            Watcher ! check, 
     12            receive_files (Notify, Watcher, Modules, Modules); 
     13        {Pid, stop} -> 
     14            Pid ! {self (), bye} 
     15    end. 
    1116 
    1217receive_files (Notify, Watcher, Modules, New) -> 
  • trunk/src/compiler_test.erl

    r64 r65  
    88-export ([provides_binaries_when_all_compiled/0]). 
    99-export ([recompiles_minimally_after_change/0]). 
     10-export ([stops/0]). 
    1011-include_lib("stdlib/include/ms_transform.hrl"). 
    1112 
     
    1718    ok = check (Ms, unknown). 
    1819 
     20stops () -> 
     21    Compiler = spawn_link (compiler, init, [notify_me (), "fix"]), 
     22    Compiler ! check, 
     23    receive_all (), 
     24    Compiler ! {self (), stop}, 
     25    ok = receive {Compiler, bye} -> ok after 500 -> timeout end, 
     26    false = is_process_alive (Compiler), 
     27    ok. 
     28     
    1929provides_binaries_when_all_compiled () -> 
    2030    F = fun provides_binaries_when_all_compiled/2, 
     
    93103        M -> 
    94104            receive_all ([M | Ms]) 
     105    after 2000 -> lists: reverse ([timeout | Ms]) 
    95106    end. 
Note: See TracChangeset for help on using the changeset viewer.