talloc_tos() Re: 617ec07 ?

Volker Lendecke Volker.Lendecke at SerNet.DE
Wed Aug 11 00:45:08 MDT 2010


On Wed, Aug 11, 2010 at 04:27:00PM +1000, tridge at samba.org wrote:
> I should start off by saying that I think talloc_tos() should
> definately be in common code. It is now used in so much s3 code that
> we have to support it.
> 
> My main confusion with talloc_tos() comes when think about how it
> interacts with async events. With a lot of what happens in Samba now
> happening in callbacks, it isn't clear to me that a stack based
> approach is a good match.
> 
> Is there some way that talloc_tos and events is handled specially so
> it makes sense? For example, what happens to memory allocated in timer
> or signal callbacks? What about protocol callbacks on sockets?
> 
> It may well be handled fine, I don't know of a specific bug related to
> talloc_tos and events, I'm just flagging it as a combination that
> leaves me a bit puzzled.

The rule is pretty simple: Once you leave a routine with
return or at the end of a callback, talloc_tos() will be
automatically be freed. I see it like a C++ destructor that
can be postponed by a few instructions. So for anything that
needs to survive the current callback, talloc_tos() can not
be used. 

Volker


More information about the samba-technical mailing list