[erlang-questions] The timer server: bug or feature?
Scott Lystig Fritchie
Wed Apr 15 23:09:09 CEST 2009
Hi, all. I've got an app that uses the timer module liberally,
specifically timer:send_interval/2. I also have some regression tests
that starts hundreds of gen_server and gen_fsm processes that use
timer:send_interval/2 (usually with a period of 1 second) and are
stopped a few seconds later ... both nicely shutdown and
not-very-nicely stopped by exit(Pid, kill).
After the regression tests finish and all test processes are dead, I
find that the timer_server process is consuming about 45% of one of my
CPU cores. The undocumented timer:get_status/1 function says:
(This is Erlang/OTP R12B-5, on a Linux platform, if that matters.)
So it seems like there are hundreds of items that are orphaned in the
timer server's private state. Is this a bug or feature? The OTP docs
say that the caller of send_interval/2 will be link()'ed, which I assume
means that cleanup should be automatic....
More information about the erlang-questions