Extend the thread storage API such that a custom initialization function can

be called for each thread specific object after they are allocated.  Note that
there was already the ability to define a custom cleanup function.  Also, if
the custom cleanup function is used, it *MUST* call free on the thread
specific object at the end.  There is no way to have this magically done that
I can think of because the cleanup function registered with the pthread
implementation will only call the function back with a pointer to the
thread specific object, not the parent ast_threadstorage object.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2006-10-19 01:00:57 +00:00
parent 71c67605ca
commit bd53e7ee4c
10 changed files with 48 additions and 28 deletions

View File

@@ -52,7 +52,7 @@ static AST_LIST_HEAD_STATIC(headerlist, ast_frame);
static void frame_cache_cleanup(void *data);
/*! \brief A per-thread cache of frame headers */
AST_THREADSTORAGE_CUSTOM(frame_cache, frame_cache_init, frame_cache_cleanup);
AST_THREADSTORAGE_CUSTOM(frame_cache, NULL, frame_cache_cleanup);
/*!
* \brief Maximum ast_frame cache size