https://bugzilla.novell.com/show_bug.cgi?id=465718 Summary: fish ioslave hangs when copying many (100) files Classification: openSUSE Product: openSUSE 11.1 Version: Final Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: KDE4 Applications AssignedTo: kde-maintainers@suse.de ReportedBy: wstephenson@novell.com QAContact: qa@suse.de Found By: --- Quoting dirk: My guess is: Because you're losing data, and there will nothing ever be ready for read anymore as the remote side is still waiting to receive the missing data. There are at least two reasons why this select loop loses data, one is that write just discards the pending data upon write error: if (errno == EINTR) continue; myDebug( << "write failed, rc: " << rc << ", error: " << strerror(errno) << endl); outBufPos = -1; //return true; the error handling is incomplete as the pty is set to nonblocking mode (for reasons I don't understand), and the handler doesn't check for EAGAIN. The same error is in the read() part, and in select() handling. In addition, the immensely short timeout value doesn't seem to make sense (why would it have to wake up anyway when there is nothing to do). There are also other bugs in the code that are not related to this issue, like calling exit() in the forked child or using return from a fork'ed child. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.