On Tue, Dec 1, 2015 at 4:32 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
>
>>
>>>> but a problem you could be aware is setting a break once in InputEventFetcher>>signalEvent: , and then moving the mouse, the image hangs.
>>>>
>>> Thanks, we will investigate. The ���once��� breakpoint triggers a recompile before opening the debugger.
>>> but of course the devil is in the details��� we will check to see what exactly is happening here.
>>>
>>
>> I think I understand what happens: the method is called because there is an interrupt. Check for interrupt happens on all message sends
>> ==> even though we *want* to recompile before calling the method again, the check for interrupt happens and it is called again before the new
>> method is installed.
>
> Hmm.. I think it could be fixed by changing priorities of running threads: if we lover (temporarily) the input-event fetcher priority and raise
> the thread that does the compiling/installing, maybe we can make sure that the signalEvent: is not called before the break is removed���
I speculate that changing the priority of input-event fetcher would
have more impact than just raising the installing thread above it, but
then I guess the DelayScheduler timing-priority event loop will be
susceptible to the same problem. Maybe the final part of the install
needs to be done with a primitive like #become: ?
cheers -ben