X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fensc_wrappers%2Fwrappers-iosock.hc;h=b527afb4da2e03d327ab2e63bb040ab8f811aa9e;hb=e035f164c858115c488d0f2fc1e0d356a9096996;hp=0da40c962e845ef932e1d3b10997cddcf2c45f49;hpb=c66b2f97361761b8a87058dc7a49ab59d4520556;p=util-vserver.git diff --git a/util-vserver/ensc_wrappers/wrappers-iosock.hc b/util-vserver/ensc_wrappers/wrappers-iosock.hc index 0da40c9..b527afb 100644 --- a/util-vserver/ensc_wrappers/wrappers-iosock.hc +++ b/util-vserver/ensc_wrappers/wrappers-iosock.hc @@ -22,15 +22,16 @@ #include -inline static UNUSED bool -WsendAll(int fd, void const *ptr_v, size_t len) +inline static WRAPPER_DECL bool +WsendAll(int fd, void const *ptr_v, size_t len, int *err) { register char const *ptr = ptr_v; + if (err) *err = 0; while (len>0) { size_t res = TEMP_FAILURE_RETRY(send(fd, ptr, len, MSG_NOSIGNAL)); if (res==(size_t)-1) { - perror("send()"); + if (err) *err = errno; return false; } @@ -42,7 +43,7 @@ WsendAll(int fd, void const *ptr_v, size_t len) return true; } -inline static UNUSED void +inline static WRAPPER_DECL void EsendAll(int fd, void const *ptr_v, size_t len) { register char const *ptr = ptr_v; @@ -57,15 +58,16 @@ EsendAll(int fd, void const *ptr_v, size_t len) } -inline static UNUSED bool -WrecvAll(int fd, void *ptr_v, size_t len) +inline static WRAPPER_DECL bool +WrecvAll(int fd, void *ptr_v, size_t len, int *err) { register char *ptr = ptr_v; + if (err) *err = 0; while (len>0) { size_t res = TEMP_FAILURE_RETRY(recv(fd, ptr, len, MSG_NOSIGNAL)); if (res==(size_t)-1) { - perror("recv()"); + if (err) *err = errno; return false; } @@ -77,7 +79,7 @@ WrecvAll(int fd, void *ptr_v, size_t len) return true; } -inline static UNUSED bool +inline static WRAPPER_DECL bool ErecvAll(int fd, void *ptr_v, size_t len) { register char *ptr = ptr_v;