aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2017-09-25 15:38:33 +0200
committerHans Bolinder <[email protected]>2017-12-20 13:55:08 +0100
commitb8f16f0ab8099733a9fb1651c74af9cd1f8837ff (patch)
treeac6a0d448f107968b21e3fd96a68d3ad02ce4b48 /lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl
parent18a08499db5223dfc3c96b64220a4b3e6a79c799 (diff)
downloadotp-b8f16f0ab8099733a9fb1651c74af9cd1f8837ff.tar.gz
otp-b8f16f0ab8099733a9fb1651c74af9cd1f8837ff.tar.bz2
otp-b8f16f0ab8099733a9fb1651c74af9cd1f8837ff.zip
stdlib: Introduce gen_server benchmark
Diffstat (limited to 'lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl')
-rw-r--r--lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl b/lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl
new file mode 100644
index 0000000000..82381e1fdf
--- /dev/null
+++ b/lib/stdlib/test/stdlib_bench_SUITE_data/simple_server_timer.erl
@@ -0,0 +1,33 @@
+-module(simple_server_timer).
+
+%% Local process. Timer. No monitor.
+
+-export([start/1, reply/2, stop/1]).
+
+start(State) ->
+ spawn(fun() -> loop(State) end).
+
+stop(P) ->
+ P ! {stop, self()},
+ receive
+ ok ->
+ ok
+ end.
+
+loop(S) ->
+ receive
+ {reply, P, M} ->
+ P ! M,
+ loop(S);
+ {stop, P} ->
+ P ! ok
+ end.
+
+reply(P, M) ->
+ P ! {reply, self(), M},
+ receive
+ M ->
+ M
+ after 100 ->
+ exit(fel)
+ end.