[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 1.5.0.14 (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?
Regards,
Tony
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: address@hidden