Egy mai utolsó próba alapján úgy tűnik, hogy az
fcntl(fileno(dfd), F_SETFL, O_NONBLOCK);
megoldás lesz. Bár részletesebb próbálgatásra nem volt időm. Olyan, mintha valami bufferben lapulna a válasz, s nem kerülne a karakteres eszközbe. Vagy nem tudom.