Here's a little script which seems to work. Creates a pipe and two child processes. One writes random numbers to the pipe, the other reads and prints them out.

Ed

(import (rnrs)
        (ikarus))

(define pipe-a (pipe))

(fork (lambda (pid) pid)
      (lambda ()
        (let loop ()
          (display (random 100) (vector-ref pipe-a 1))
          (newline (vector-ref pipe-a 1))
          (nanosleep 1 0)
          (loop))))

(fork (lambda (pid) pid)
      (lambda ()
        (let loop ()
          (display (read (vector-ref pipe-a 0)))
          (newline)
          (loop))))

Reply via email to