[Konsole-devel] [Bug 164540] Konsole fails to start a session
Kris Moore
kris at pcbsd.org
Wed Jul 9 14:02:30 UTC 2008
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=164540
------- Additional Comments From kris pcbsd org 2008-07-09 16:02 -------
I've just sent over a pretty long e-mail to the freebsd-kde list about this bug, with some of my findings about it so far.
http://mail.kde.org/pipermail/kde-freebsd/2008-July/002892.html
However, here's probably the important part, which I haven't been able to figure out yet:
(Cut from the e-mail)
I then started going through the kpty code, and placed in markers until I was able to determine where the failure was occurring exactly, in the kpty/kptydevice.cpp file, specifically this function:
-----------------------------------------------------------
bool KPtyDevicePrivate::_k_canRead()
{
Q_Q(KPtyDevice);
qint64 readBytes = 0;
#ifdef Q_OS_IRIX // this should use a config define, but how to check it?
size_t available;
#else
int available;
#endif
if (!::ioctl(q->masterFd(), FIONREAD, (char *) &available)) {
char *ptr = readBuffer.reserve(available);
NO_INTR(readBytes, read(q->masterFd(), ptr, available));
if (readBytes < 0) {
q->setErrorString(I18N_NOOP("Error reading from PTY"));
return false;
}
readBuffer.unreserve(available - readBytes); // *should* be a no-op
}
........................ cut .......................
}
----------------------------------------------------------
The failure speficially is happening with the "ioctl" line here:
if (!::ioctl(q->masterFd(), FIONREAD, (char *) &available)) {
ioctl keeps returning -1 and setting errno to 35, which is this:
#define EAGAIN 35 /* Resource temporarily unavailable */
More information about the konsole-devel
mailing list