I have a process which creates a new child process for handling certain tasks. There's also one child thread created by the main process which is used for one specific task. These processes and thread communicate through UNIX domain sockets.
Due to some reason, the child process got stuck and it remains in umtx state. Consequently, whenever the main process tries to send some data to the child thread which is still in wait state and waiting for the child process to exit, does not respond.
Ultimately, the tx queue of parent socket keeps on accumulating messages and becomes full. This results in send()
failing with ENOBUFS
error.
How can I overcome this issue?