Hi,

 

I have a strange problem with input/output and threads using GambitC-4b22 (WinXP/MINGW). I tried to isolate it.

It can be basically reproduced by running the following code in the interpreter:

 

(define (main)

  (let ((t (make-thread

            (lambda ()

              (display "\n\n\n hello world!\n\n\n")

              (force-output)))))

    (thread-start! t)))

 

(main)

 

 

Which does the expected thing: display the “hello world” message in the console.

If I compile the above program to an executable it doesn’t display the message anymore.

 

In my real context, I am using a mutex and many threads are writing a trace to the console. In the compiled version I get no traces…

 

What am I missing?

Thank you,

 

Francois Magnan