|
a/src/netcon.cpp |
|
b/src/netcon.cpp |
|
... |
|
... |
699 |
|
699 |
|
700 |
void NetconData::cancelReceive()
|
700 |
void NetconData::cancelReceive()
|
701 |
{
|
701 |
{
|
702 |
if (m_wkfds[1] >= 0) {
|
702 |
if (m_wkfds[1] >= 0) {
|
703 |
LOGDEB2("NetconData::cancelReceive: writing to " << m_wkfds[1] << endl);
|
703 |
LOGDEB2("NetconData::cancelReceive: writing to " << m_wkfds[1] << endl);
|
|
|
704 |
// We can't do a thing about the ::write return value, the
|
|
|
705 |
// following nonsense is for cancelling warnings
|
704 |
::write(m_wkfds[1], "!", 1);
|
706 |
int ret = ::write(m_wkfds[1], "!", 1);
|
|
|
707 |
ret = ret;
|
705 |
}
|
708 |
}
|
706 |
}
|
709 |
}
|
707 |
|
710 |
|
708 |
// Receive at most cnt bytes (maybe less)
|
711 |
// Receive at most cnt bytes (maybe less)
|
709 |
int NetconData::receive(char *buf, int cnt, int timeo)
|
712 |
int NetconData::receive(char *buf, int cnt, int timeo)
|
|
... |
|
... |
748 |
int ret = select(nfds, &rd, 0, 0, &tv);
|
751 |
int ret = select(nfds, &rd, 0, 0, &tv);
|
749 |
LOGDEB2("NetconData::receive: select returned " << ret << endl);
|
752 |
LOGDEB2("NetconData::receive: select returned " << ret << endl);
|
750 |
|
753 |
|
751 |
if (cancellable && FD_ISSET(m_wkfds[0], &rd)) {
|
754 |
if (cancellable && FD_ISSET(m_wkfds[0], &rd)) {
|
752 |
char b[100];
|
755 |
char b[100];
|
|
|
756 |
// We can't do a thing about the return value, the
|
|
|
757 |
// following nonsense is for cancelling warnings
|
753 |
read(m_wkfds[0], b, 100);
|
758 |
int ret = ::read(m_wkfds[0], b, 100);
|
|
|
759 |
ret = ret;
|
754 |
return Cancelled;
|
760 |
return Cancelled;
|
755 |
}
|
761 |
}
|
756 |
|
762 |
|
757 |
if (!FD_ISSET(m_fd, &rd)) {
|
763 |
if (!FD_ISSET(m_fd, &rd)) {
|
758 |
m_didtimo = 1;
|
764 |
m_didtimo = 1;
|