At work we have a product that uses Qt3 and we are moving it to Qt4. In Qt3, you can't launch or even check isRunning() in another thread without risking a crash, though the crash is usually pretty rare.

However, it appears Qt4 QProcesses have changed a good bit from 3 to 4 and some functions are even designed for separate threads.

Does this mean I can start a program or check its state from another thread in Qt4 without risking a crash? Note that I can't use the functions that block until something happens as the separate thread handles the progress bar which needs to update every second or so.