diff --git a/src/sockmap.c b/src/sockmap.c index ae1dacb..b434ee9 100644 --- a/src/sockmap.c +++ b/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);