diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2019-04-24 13:46:09 +0200 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2019-04-24 13:46:16 +0200 |
commit | 8b501f5fe674e8db217c7f72c374ca60494658bc (patch) | |
tree | e8d0fcc4ba4afee23e4960aac32b3e72d05b97cd | |
parent | Reformat try_set_password/4 function (diff) |
Catch potential exceptions in gen_mod:wait_for_process
Seems that at ejabberd shutdown, process may terminate before that function
is called, and in that case erlang:monitor throws exception.
-rw-r--r-- | src/gen_mod.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gen_mod.erl b/src/gen_mod.erl index cec3ddb24..4dc972fd9 100644 --- a/src/gen_mod.erl +++ b/src/gen_mod.erl @@ -364,8 +364,13 @@ stop_module_keep_config(Host, Module) -> end. wait_for_process(Process) -> - MonitorReference = erlang:monitor(process, Process), - wait_for_stop(Process, MonitorReference). + try erlang:monitor(process, Process) of + MonitorReference -> + wait_for_stop(Process, MonitorReference) + catch + _:_ -> + ok + end. wait_for_stop(Process, MonitorReference) -> receive |