Asterisk Memory Internals

Hello everyone,

I’ve tested that in fact, ongoing calls do not get killed if “core reload” gets executed in the CLI. I was wondering what the result of this is in regards to memory management: Does executing “core reload” flush Asterisk’s allocated memory while keeping current calls’s allocations? e.g. only core processes get respawned?

On the same note, is there any documentation regarding memory internals/thread management of Asterisk without resorting to source code?

Thanks in advance,

Reload gets devolved to individual modules. Processes are not necessarily terminated, and some trouble is gone to to preserve data structures and their dependents, when they haven’t changed between old and new configurations.

Then I should understand that the sole purpose of the “core reload” command is to re-read configuration files and made changes accordingly?

That is my understanding. It applies module reload to every module.

Thats correct also not all modules are reloaded , such as zapata/dahdi

Reload is to do just that reload the config with out interrupting calls.

the various restart options will restart asterisk.

I think the situation with DAHDI is that some options are reloaded, but others require a restart.

The DAHDI situation sounds quite reasonable since working with drivers ain’t easy business.
All in all good answers, thanks everyone.