[asterisk-dev] pthread_getspecific() in app_voicemail
Mark Sirota
msirota at isc.upenn.edu
Thu Apr 16 09:15:47 CDT 2009
--On 2009-04-16 8:48 AM -0500 Russell Bryant <russell at digium.com> wrote:
> From a _very_ quick look at the code, if it is possible for
> pthread_getspecific() to be called before pthread_setspecific() in this
> case, that probably also means that the key has not yet been initialized.
>
> pthread_once(&ts_vmstate.once, ts_vmstate.key_init);
>
> This code _must_ run before either get/set. Try adding it before the
> case where get may be called before set. It's harmless, as the
> definition of how pthread_once() works ensures that it will only happen
> one time.
Thanks Russell, I think you've hit it on the head -- I'll try that today.
Mark
More information about the asterisk-dev
mailing list