Explorar el Código

back to non-blockin splice on sending

z3APA3A hace 7 años
padre
commit
8af9ea8de8
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      src/sockmap.c

+ 2 - 2
src/sockmap.c

@@ -236,7 +236,7 @@ int splicemap(struct clientparam * param, int timeo){
 #if DEBUGLEVEL > 2
 (*param->srv->logfunc)(param, "splice: recv from client");
 #endif
-	res = splice(param->clisock, NULL, pipecli[1], NULL, rfromclient, SPLICE_F_MOVE);
+	res = splice(param->clisock, NULL, pipecli[1], NULL, rfromclient, SPLICE_F_NONBLOCK | SPLICE_F_MOVE);
 	if (res < 0){
 	    if(errno == EINTR) so._poll(NULL, 0, 1);
 	    else if(errno != EAGAIN) RETURN(94);
@@ -256,7 +256,7 @@ int splicemap(struct clientparam * param, int timeo){
 #if DEBUGLEVEL > 2
 (*param->srv->logfunc)(param, "splice: recv from server");
 #endif
-	res = splice(param->remsock, NULL, pipesrv[1], NULL, rfromserver, SPLICE_F_MOVE);
+	res = splice(param->remsock, NULL, pipesrv[1], NULL, rfromserver, SPLICE_F_NONBLOCK | SPLICE_F_MOVE);
 	if (res < 0){
 	    if(errno == EINTR) so._poll(NULL, 0, 1);
 	    else if(errno != EAGAIN) RETURN(93);