diff options
author | Rickard Green <[email protected]> | 2013-05-30 15:01:25 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2013-05-30 15:01:25 +0200 |
commit | bedb203fc337ae588e329f058f5ba6ec250f25e6 (patch) | |
tree | 9258c860506bc560a950d0dc00e137ef85e399c4 /erts/emulator/test | |
parent | 08bc75683f015bf7a542e30eb6ef88b18112fb22 (diff) | |
parent | e794251f8e54d6697e1bcc360471fd76b20c7748 (diff) | |
download | otp-bedb203fc337ae588e329f058f5ba6ec250f25e6.tar.gz otp-bedb203fc337ae588e329f058f5ba6ec250f25e6.tar.bz2 otp-bedb203fc337ae588e329f058f5ba6ec250f25e6.zip |
Merge branch 'maint'
* maint:
Introduce a better id allocation algorithm for PTabs
Diffstat (limited to 'erts/emulator/test')
-rw-r--r-- | erts/emulator/test/process_SUITE.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/erts/emulator/test/process_SUITE.erl b/erts/emulator/test/process_SUITE.erl index 863cd2d654..72f3e8fe85 100644 --- a/erts/emulator/test/process_SUITE.erl +++ b/erts/emulator/test/process_SUITE.erl @@ -1494,6 +1494,7 @@ processes_bif_cleaner() -> spawn_initial_hangarounds(Cleaner) -> TabSz = erlang:system_info(process_limit), + erts_debug:set_internal_state(next_pid,TabSz), spawn_initial_hangarounds(Cleaner, TabSz, TabSz*2, @@ -1538,14 +1539,21 @@ hangaround(Cleaner, Type) -> spawn_initial_hangarounds(_Cleaner, NP, Max, Len, HAs) when NP > Max -> {Len, HAs}; spawn_initial_hangarounds(Cleaner, NP, Max, Len, HAs) -> - erts_debug:set_internal_state(next_pid,NP), + Skip = 30, HA1 = spawn_opt(?MODULE, hangaround, [Cleaner, initial_hangaround], [{priority, low}]), HA2 = spawn_opt(?MODULE, hangaround, [Cleaner, initial_hangaround], [{priority, normal}]), HA3 = spawn_opt(?MODULE, hangaround, [Cleaner, initial_hangaround], [{priority, high}]), - spawn_initial_hangarounds(Cleaner, NP+30, Max, Len+3, [HA1,HA2,HA3|HAs]). + spawn_drop(Skip), + spawn_initial_hangarounds(Cleaner, NP+Skip, Max, Len+3, [HA1,HA2,HA3|HAs]). + +spawn_drop(N) when N =< 0 -> + ok; +spawn_drop(N) -> + spawn(fun () -> ok end), + spawn_drop(N-1). do_processes(WantReds) -> erts_debug:set_internal_state(reds_left, WantReds), |