[CM] process sync...

ml13@onlinehome.de ml13@onlinehome.de
Wed, 11 Jan 2006 23:14:55 +0100


Hi

thank you very much for your detailed explanation!!

I have played around for a while trying to find a simple example that  
shows what appears to be a bug.

(defvar *length* 50)

(defun a ()
   (let ((durs (new cycle :of '(5 12 7 5 12 7))))
     (process
       until (> (now) *length*)
       for dur = (next durs)
       do (format t "~2D: A says hi~%" (now) 1)
       wait dur)))

(defun b ()
   (let ((durs (new cycle :of '(12 5 7 5 7 12))))
     (process
       until (> (now) *length*)
       for dur = (next durs)
       do (format t "~2D: B says hello~%" (now) 2)
       wait dur)))

CM> (events (list (a) (b)) nil)
0: A says hi
0: B says hello
5: A says hi
12: B says hello
17: A says hi
17: B says hello
24: A says hi
24: B says hello
29: A says hi
29: B says hello
36: B says hello
41: A says hi
48: B says hello ; look Ma, A hasn't said hi yet.........
48: A says hi
NIL

Sorry for not tracing this further down, I still feel to be too new  
to CM, but tell me, if you need anymore information.

Regards,

	Kilian Sprotte