talloc null context thread safe ?
turboult at easynet.fr
Mon Nov 6 22:19:05 GMT 2006
I am using talloc in a project other than Samba : I hope this is the right
list for my question.
I understand that talloc does not deal with threads, and in fact, it is thread
safe, as long as each thread uses different memory contexts. If two threads
uses the same context then they need to synchronise in order to be safe.
Am I correct ?
If so, my concern is with the allocation of "top-level" contexts i.e. when
using a NULL parent. When using the "talloc_enable_leak_report", I understand
that the NULL context is in fact a hidden "null context" global variable, so
allocating anything from the NULL context (e.g. tmp_ctx = talloc_new (NULL))
is no longer thread safe. Am I missing something, or may be this is obvious ?
So in multi-thread environement, I should never use a NULL context as a parent
(may be instead define my own per-thread null-context).
More information about the samba-technical