Me parece que lo mas adecuado para este tipo de tareas es usar semáforos, no te consume tanto como un while absurdo que no hace mas que gastar cpu y te responde mas rápido que estar haciendo sleeps. Ya que estas con la librería pthread aquí te dejo un código con un ejemplo del uso de semáforos, bastante simple http://pastebin.com/T3vwCmHa