Я сделал это с помощью семафора и обработчика сигнала. Чтобы разбудить дочерний процесс, родительский процесс посылает сигнал дочернему процессу, который, в свою очередь, отправляет семафор из обработчика сигнала. Ребенок, который ждал этого семафора, затем просыпается.