[Top][All Lists]

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

Re: [Help-smalltalk] Single stepping issue in the JIT

From: Holger Hans Peter Freyther
Subject: Re: [Help-smalltalk] Single stepping issue in the JIT
Date: Sat, 4 Jan 2014 14:54:42 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Sat, Jan 04, 2014 at 08:54:46AM +0100, Holger Hans Peter Freyther wrote:

>    oop1 = STACKTOP ();
>    suspend_process (oop1);
> +  if (oop1 == switch_to_process)
> +       printf("Suspended is switched to process.\n");
>  }

diff --git a/libgst/interp.c b/libgst/interp.c
index 0a01361..ab67daf 100644
--- a/libgst/interp.c
+++ b/libgst/interp.c
@@ -1794,7 +1794,8 @@ resume_process (OOP processOOP,
       /* We're resuming a process with a *equal or higher* priority, so sleep
          the current one and activate the new one */
-      sleep_process (activeOOP);
+      if (active->myList != _gst_nil_oop)
+        sleep_process (activeOOP);
       activate_process (processOOP);

this is my work-around. I have no idea if that is the right place and/if
it is correct. The idea is that an already process will not be made runnable.

The real question is probably how this code can be suspended and still be
considered as the next process.

reply via email to

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