Hi,

Thanks for the prompt response... and for staying with me in difficult times
;-)

> Sorry, I can't understand what you mean.
> Can you explain with some psedo-code?

Well, if you change the code back to it's first version where:

> > cmds = [
> >         "ping 10.0.0.0 -n 30 -w 1000 > NUL",
> >         "ping 10.0.0.0 -n 60 -w 1000 > NUL",
> >         "ping 10.0.0.0 -n 90 -w 1000 > NUL"
> >        ]

you will see that the threads are run sequentially and the program ends
after (30 + 60 + 90) seconds.
This is probably because the f.gets in the "while not f.eof?" loop for each
thread stalls.

See what I mean ?
-- Shanko