On Thu, Apr 28, 2011 at 04:38:43PM +0100, Sam Liddicott wrote:
> 
> On 28/04/11 16:08, Luca Bruno wrote:
> >On Thu, Apr 28, 2011 at 03:58:32PM +0100, Sam Liddicott wrote:
> >>This feature may be less useful for vala if it does stack-tear-down
> >>for interruptable functions, but perhaps more suited if it uses
> >>co-routines with different stacks so that the stack is switched and
> >>not torn-down when an interruptable function is interrupted.
> >Yes that's the problem, with vala you may pass the closure to another
> >function and exit from the current scope, while with gcc nested function
> >the stack is lost once you exit the outer function.
> 
> And it's hard to control this or know when it is happening by accident.
> 
> I wonder if it is worth considering libpcl or other co-routine
> libraries - it would take away the need for a lot of effort to get
> fuller closure support.
>
> I've also been thinking of ways to detect when vala closures go
> stale - one way is for the data pointer to be indirected via a heap
> allocated pointer. This could be set to null by the outer function
> when it exits, and so any use after this point can be detected - as
> when the wrapper trampoline function is executed it will detect that
> the data pointer points to NULL instead of pointing to the actual
> data pointer.

I don't get what's the problem with actual vala closures that you need to
find an alternative.

-- 
http://www.debian.org - The Universal Operating System
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to