I am trying to help port over an app thats posix threaded. One thread uses fork,dup2 and execv to start a child programme in this case an mp3 player. However, under FreeBSD-5.2.1, the execv causes all the threads in the parent process to be blocked until the child process returns. Is there a mechanism to get around this. Thanks Chris