Jörg F. Wittenberger wrote:
are dynamic-wind pre/post-thunks by chicken executed upon each thread switch?

Why would they?

In fact they don't:

------------------------------------------------------------
(use srfi-18)

(thread-start!
  (make-thread
    (lambda ()
      (dynamic-wind
        (lambda ()
          (print "Entering thread 1"))
        (lambda ()
          (print "In thread 1")
          (thread-yield!)
          (print "In thread 1"))
        (lambda ()
          (print "Exiting thread 1"))))))

(dynamic-wind
  (lambda ()
    (print "Entering thread 0"))
  (lambda ()
    (print "In thread 0")
    (thread-yield!)
    (print "In thread 0"))
  (lambda ()
    (print "Exiting thread 0")))

(thread-sleep! 1)
------------------------------------------------------------


Entering thread 0
In thread 0
Entering thread 1
In thread 1
In thread 0
Exiting thread 0
In thread 1
Exiting thread 1


Tobia

_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to