aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl
diff options
context:
space:
mode:
authorTomas Pihl <[email protected]>2012-07-22 13:01:43 +0200
committerHenrik Nord <[email protected]>2012-10-05 11:25:06 +0200
commitc2b6342cb57df5925acbacff0aea74358c9a5ffb (patch)
tree26210740332aebc41f66ce304b06033b9b65c50a /lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl
parenta24c49aec663f19092cf0d2062af19523666d291 (diff)
downloadotp-c2b6342cb57df5925acbacff0aea74358c9a5ffb.tar.gz
otp-c2b6342cb57df5925acbacff0aea74358c9a5ffb.tar.bz2
otp-c2b6342cb57df5925acbacff0aea74358c9a5ffb.zip
Have supervisor send errors up the chain
If a child fails to start, supervisor relies upon error_logger which does not work when IO is inhibited. Instead pass the error up the chain and let someone else use a proper Reason for any possible printouts.
Diffstat (limited to 'lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl')
-rw-r--r--lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl b/lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl
new file mode 100644
index 0000000000..6628f92210
--- /dev/null
+++ b/lib/stdlib/test/supervisor_SUITE_data/app_faulty/src/app_faulty_server.erl
@@ -0,0 +1,32 @@
+-module(app_faulty_server).
+
+-behaviour(gen_server).
+
+%% API
+-export([start_link/0]).
+
+%% gen_server callbacks
+-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
+ terminate/2, code_change/3]).
+
+start_link() ->
+ gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
+
+init([]) ->
+ an_undefined_module_with:an_undefined_function(argument1, argument2),
+ {ok, []}.
+
+handle_call(_Request, _From, State) ->
+ {reply, ok, State}.
+
+handle_cast(_Msg, State) ->
+ {noreply, State}.
+
+handle_info(_Info, State) ->
+ {noreply, State}.
+
+terminate(_Reason, _State) ->
+ ok.
+
+code_change(_OldVsn, State, _Extra) ->
+ {ok, State}.