Merge team/russell/ast_cli_tls into the trunk.
authorRussell Bryant <russell@russellbryant.com>
Sun, 23 Jul 2006 15:19:16 +0000 (15:19 +0000)
committerRussell Bryant <russell@russellbryant.com>
Sun, 23 Jul 2006 15:19:16 +0000 (15:19 +0000)
commita1fb7a2da320ca169a58f355256d4172613903b9
tree6a611697f13d1f4f1101beb89aba3dbd286e056b
parent4103a6d8d744e30c5ee231b1a1bf18d0a57008ea
Merge team/russell/ast_cli_tls into the trunk.

This improves the performance of ast_cli() by not doing a heap memory
allocation and deallocation every single time the function is called. Instead,
a thread-specific buffer is allocatted the first time the function is called
and automatically free'd when the thread exits. Also note that this buffer will
only be allocatted in threads that actually call this function, which is
probably only the threads spawned to service connected asterisk consoles.

This does introduce a new limitation on the maximum length of the resulting
string from the arguments passed to ast_cli. Previously there was no limit
since it was just allocating a buffer big enough every time the function was
called. The current buffer size is 16kB. If there is ever a case where we want
to print more than 16k characters in a single call to ast_cli(), this will have
to be increased.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
cli.c