[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] #value sent by cCall?

From: Tony Garnock-Jones
Subject: Re: [Help-smalltalk] #value sent by cCall?
Date: Tue, 08 Jan 2008 10:30:41 +0000
User-agent: Thunderbird (X11/20071210)

Paolo Bonzini wrote:
> The code is compiled as
> ^(##(CFunctionDescriptor for: 'SDL_Flip' returning: #int
>     args: #( #cObject ))
>         callInto: ValueHolder now) value
> Where "descr callInto: ValueHolder now" is supposed to return its argument.

Excellent, thanks! In that case, what I'm seeing is that #value is being
sent to the cObject passed in (the SDL_Surface) occasionally, rather
than (presumably) the ValueHolder.

I thought it might have been related to global GC, but I'm now thinking
it's something to do with #terminate instead. The failing call is
happening during ObjectMemory quit, from a Process which has had the new
#terminateOnQuit called on it.

... and sure enough, calling #terminate directly on the process
concerned triggers the problem *most* (but not all) times it's called.

I'm guessing terminate is quite an abrupt way of interrupting a process?
If so, is there something less drastic that could be done instead?

 [][][] Tony Garnock-Jones     | Mob: +44 (0)7905 974 211
   [][] LShift Ltd             | Tel: +44 (0)20 7729 7060
 []  [] | Email: address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]