Compare commits

..

2 Commits

Author SHA1 Message Date
Adrien Gallouët
db26fc5676 Update mud 2016-09-06 08:46:23 +00:00
Adrien Gallouët
05cc7b1087 Be more verbose when mud fails 2016-09-06 08:45:53 +00:00
2 changed files with 23 additions and 12 deletions

2
mud

Submodule mud updated: 1659caa7ca...d8d8326f75

View File

@@ -453,25 +453,36 @@ int main (int argc, char **argv)
} }
} }
if (send_limit && mud_send(mud, send.buf, send_limit, send_tc)==send_limit) { if (send_limit) {
if (send_size>send_limit) int r = mud_send(mud, send.buf, send_limit, send_tc);
memmove(&send.buf[0], &send.buf[send_limit], send_size-send_limit); if (r==-1 && errno!=EAGAIN) {
send_size -= send_limit; perror("mud_send");
send_limit = send_size; } else if (r==send_limit) {
send_tc = send_next_tc; if (send_size>send_limit)
send_next_tc = 0; memmove(&send.buf[0], &send.buf[send_limit], send_size-send_limit);
send_size -= send_limit;
send_limit = send_size;
send_tc = send_next_tc;
send_next_tc = 0;
}
} }
mud_push(mud); if (mud_push(mud)==-1 && errno!=EAGAIN)
perror("mud_push");
if (FD_ISSET(mud_fd, &rfds)) if (FD_ISSET(mud_fd, &rfds)) {
mud_pull(mud); if (mud_pull(mud)==-1 && errno!=EAGAIN)
perror("mud_pull");
}
while (!gt.quit) { while (!gt.quit) {
const int size = mud_recv(mud, recv.buf, mtu); const int size = mud_recv(mud, recv.buf, mtu);
if (size<=0) if (size<=0) {
if (size==-1 && errno!=EAGAIN)
perror("mud_recv");
break; break;
}
int p = 0; int p = 0;