Commit a2c4be7c9b0a14024013e52f78a4a95bb11c1bae

Authored by Grzegorz Jabłoński
1 parent eeb7695e

Reacting on recv error

Showing 1 changed file with 5 additions and 1 deletions
epoll4.c
... ... @@ -140,6 +140,9 @@ void server_run() {
140 140 break;
141 141 } else if (n == 0) {
142 142 break;
  143 + } else if (n == -1) {
  144 + perror("recv");
  145 + break;
143 146 } else {
144 147 buf[n] = '\0';
145 148 printf("[+] data: %s\n", buf);
... ... @@ -148,7 +151,8 @@ void server_run() {
148 151 int rv = send(events[i].data.fd, buf + n, strlen(buf) - n,
149 152 MSG_NOSIGNAL);
150 153 if (rv == -1 && (errno == EINTR))
151   - continue; // FIXME: might lock up due to client not receiving - should wait using epoll
  154 + continue; // FIXME: might lock up due to client not receiving -
  155 + // should wait using epoll
152 156 if (rv == -1)
153 157 break;
154 158 n += rv;
... ...