test/test-signalling.rkt
#lang racket

(require "../signalling.rkt"
         "../mzrt-sema.rkt")

(define s (mzrt-sema-create 0))
(define place (mzrt-sema-listener s))

(thread 
 (lambda ()
   (let loop ()
     (place-channel-get place)
     (printf "post: ~s\n" (current-inexact-milliseconds))
     (loop))))

;; when run, a "got one!"
;; should appear immediately after
;; each "posting..."
(for ([i (in-range 5)])
  (sleep 1.0)
  (printf "posting...\n")
  (define pre (current-inexact-milliseconds))
  (mzrt-sema-post s)
  (printf "pre: ~s\n" pre))