I have a process that spawns another process. In case 1 process A spawns process B by simply calling spawnv() on it's binary. In case 2 process A calls a script that unzips process B, once process B is uncompressed, process A then calls spawnv() to run process B.
My question is, when I run process A using case 1 I am able to catch SIGCHLD with my signal handler, but when I run process A using case 2 I am no longer able to catch SIGCHLD with my signal handler. Any ideas on why this is happening. There is no recoding done to process A to do the 2 cases, I just change the flags to either run the binary or call the decompressing script first.