I am launching a number of processes using fork(), of which only a particular process i need to catch in parent process, others would be caught in signal handler, in which a wait() is waiting for any process. My question is the signal handlers wait() and waitpid() would cause some sort of race condition ?? Or the result is that signal handlers wait will return always -1 for that particular pid for which waitpid() is waiting for ?? For the sample example below, i always get -1 from the wait() but is it always so ?? Thanx in advance.