Egyébként szépen: fcntl(fileno(dfd), F_SETFL, fcntl(fileno(dfd), F_GETFL) | O_NONBLOCK); nehogy olyan flag-et is törölj amit nem is akarsz. Bár ez is picit slampos, mert nem törődik a hibával. :-)