There are some children of a main process. The main process continuously read from a queue, let's say IPC FIFO. Let's think whole children are busy. When one of them is idle, it sends a signal to the main process(parent) using siginfo_t with sigaction().

The problem is when there are more than one children available. What if three of them signal to the their parent at the same time, since they use a single signal e.g. SIGUSR1, what will be happen?

There will be always a situation that a child must be able to warn its parent that it is available to take a command from its parent(main process).If the signaling approach is wrong, what can I do else using fifo or pipe?

0 Answers