esl/ejabberd — pull request #100 by arcusfelis (2013-08-28 16:07:38+00:00)
Title: Move a call to `ejabberd_odbc_sup:remove_pid/2` from `ejabberd_odbc:terminate/3`

There is a problem with dead workers. I planning to rewrite `ejabberd_odbc_sup` using poolboy.
```erlang
(ejabberd@localhost)1> ejabberd_odbc_sup:get_pids(<<"localhost">>).
[<0.377.0>,<0.379.0>,<0.382.0>,<0.385.0>,<0.388.0>,
<0.391.0>,<0.394.0>,<0.397.0>,<0.399.0>,<0.402.0>]

(ejabberd@localhost)2> exit(pid(0, 377, 0), boom).
true

(ejabberd@localhost)3> ejabberd_odbc_sup:get_pids(<<"localhost">>).
[<0.377.0>,<0.379.0>,<0.382.0>,<0.385.0>,<0.388.0>,
<0.391.0>,<0.394.0>,<0.397.0>,<0.399.0>,<0.402.0>,<0.808.0>]
% <0.377.0> is still here.

(ejabberd@localhost)4> is_process_alive(pid(0, 377, 0)).
false
```