Browse Source

another fix for server connection handling

master
Michael Preisach 4 years ago
parent
commit
4908f71b75
  1. 13
      server.c

13
server.c

@ -54,14 +54,15 @@ int server_start(conn_handler handler, int16_t port) {
for(ret = 0; 0 == ret;) {
bzero(buffer, MAX_BUFSIZE);
len = 0;
for(int i = 0; 0 < i && buffer[len-1] != '\n';) {
i = read(clientfd, &buffer[len], sizeof(buffer)-len);
len += i;
}
if (0 > len) {
do {
ret = read(clientfd, &buffer[len], sizeof(buffer)-len);
len += ret;
} while(0 < ret && buffer[len-1] != '\n');
if (0 > ret) {
printf("server_start: cannot read from socket\n");
ret = -1;
} else if(0 == len) {
} else if(0 == ret) {
printf("server_start: client closed connection\n");
ret = 1;
} else {

Loading…
Cancel
Save