I think you are correct and a thread can't be interrupted. I don't see any great technical difficulty in doing it... Yes, it is easy for threads to be suspended. However, to change the path of execution for a thread is unthinkable - I mean, if your program is carrying out a task and half way through writing to a file the control gets shifted to a code handler you've had it. Yes, I did mena the terminating return int statement. -- Andrew.