Mercurial > hg > quicktun
comparison src/common.c @ 9:640f620a55cf V2.1.3
Bugfixes for floating remote and debian upgrade
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Wed, 20 Oct 2010 21:08:03 +0200 |
parents | 6d86596d8884 |
children | e4b60d041491 |
comparison
equal
deleted
inserted
replaced
8:6d86596d8884 | 9:640f620a55cf |
---|---|
204 int len = poll(fds, 2, -1); | 204 int len = poll(fds, 2, -1); |
205 if (len < 0) return errorexitp("poll error"); | 205 if (len < 0) return errorexitp("poll error"); |
206 else if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) return errorexit("poll error on tap device"); | 206 else if (fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) return errorexit("poll error on tap device"); |
207 else if (fds[1].revents & (POLLHUP | POLLNVAL)) return errorexit("poll error on udp socket"); | 207 else if (fds[1].revents & (POLLHUP | POLLNVAL)) return errorexit("poll error on udp socket"); |
208 if (fds[0].revents & POLLIN) { | 208 if (fds[0].revents & POLLIN) { |
209 len = read(ttfd, buffer_raw + p->offset_raw, p->buffersize_raw); | |
209 if (session.remote_float == 0 || session.remote_float == 2) { | 210 if (session.remote_float == 0 || session.remote_float == 2) { |
210 len = read(ttfd, buffer_raw + p->offset_raw, p->buffersize_raw); | |
211 len = p->encode(&session, buffer_raw, buffer_enc, len); | 211 len = p->encode(&session, buffer_raw, buffer_enc, len); |
212 if (len < 0) return len; | 212 if (len < 0) return len; |
213 if (session.remote_float == 0) { | 213 if (session.remote_float == 0) { |
214 write(sfd, buffer_enc + p->offset_enc, len); | 214 write(sfd, buffer_enc + p->offset_enc, len); |
215 } else { | 215 } else { |