Print messages show up after script has quit

Hello,

I use ruby 1.8.6 on windows xp sp2. My script updates podcast
subsrciptions at night.This saves internet traffic during the day. It
starts iTunes application, sleeps while itunes updates feeds and then
quits.

Here's listing

require 'win32ole'

#starts itunes application and updates podcasts
ready = Time.local(2007, "Apr", 25, 15, 05, 1)
done = false
while !done do

  now = Time.now

  if now > ready then
    itunes = WIN32OLE.new('iTunes.Application')
    if itunes then
      print "Update started\n"
      itunes.UpdatePodcastFeeds
      sleep 30 # waits 30 secs

      itunes.Quit
      print "shutdown...\n"
      done=true
    end
  else
    print "Not so fast boy..." + now.to_s() + "\n"
    sleep(30) # waits for 30 secs
  end
end

While testing I noted that any debug output I print shows up in a
window after the applicaiton has quit. I don't know why it is
happening, because obviously I want script to print messages to see
its activity. Any help appreciated.

Thanks

Hello,

I use ruby 1.8.6 on windows xp sp2. My script updates podcast
subsrciptions at night.This saves internet traffic during the day. It
starts iTunes application, sleeps while itunes updates feeds and then
quits.

This is happening because stdout is buffered.

Text written to stdout will appear once the buffer is full, when the
program ends or if you ask for the buffer to be flushed by calling
$stdout.flush like this:

  else
    print "Not so fast boy..." + now.to_s() + "\n"

      $stdout.flush # flush stdout

    sleep(30) # waits for 30 secs
  end

  Kristian