X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fensc_wrappers%2Fwrappers-unistd.hc;h=6b21fc3040585f176498b08b9a4fcfaaa9c2702e;hb=5b39edfee423f5f3cbe8fa223dcfdc9e8d66e286;hp=908fee92b759028c8fae894b9acb16f688603868;hpb=7ae2f72c38554121793a34abf1d26b01152a584b;p=util-vserver.git diff --git a/util-vserver/ensc_wrappers/wrappers-unistd.hc b/util-vserver/ensc_wrappers/wrappers-unistd.hc index 908fee9..6b21fc3 100644 --- a/util-vserver/ensc_wrappers/wrappers-unistd.hc +++ b/util-vserver/ensc_wrappers/wrappers-unistd.hc @@ -85,8 +85,8 @@ Efork() inline static WRAPPER_DECL size_t Eread(int fd, void *ptr, size_t len) { - size_t res = read(fd, ptr, len); - FatalErrnoError((ssize_t)(res)==-1, "read()"); + ssize_t res = read(fd, ptr, len); + FatalErrnoError(res==-1, "read()"); return res; } @@ -94,23 +94,29 @@ Eread(int fd, void *ptr, size_t len) inline static WRAPPER_DECL size_t Ewrite(int fd, void const *ptr, size_t len) { - size_t res = write(fd, ptr, len); - FatalErrnoError((ssize_t)(res)==-1, "write()"); + ssize_t res = write(fd, ptr, len); + FatalErrnoError(res==-1, "write()"); return res; } -inline static WRAPPER_DECL void +inline static WRAPPER_DECL size_t Ereadlink(const char *path, char *buf, size_t bufsiz) { - FatalErrnoError(readlink(path, buf, bufsiz)==-1, "readlink()"); + ssize_t res = readlink(path, buf, bufsiz); + FatalErrnoError(res==-1, "readlink()"); + + return res; } -inline static WRAPPER_DECL void +inline static WRAPPER_DECL size_t EreadlinkD(const char *path, char *buf, size_t bufsiz) { + ssize_t res = readlink(path, buf, bufsiz); ENSC_DETAIL1(msg, "readlink", path, 1); - FatalErrnoError(readlink(path, buf, bufsiz)==-1, msg); + FatalErrnoError((ssize_t)(res)==-1, msg); + + return res; } inline static WRAPPER_DECL void @@ -194,3 +200,21 @@ Elseek(int fildes, off_t offset, int whence) FatalErrnoError(res==(off_t)-1, "lseek()"); return res; } + +inline static WRAPPER_DECL void +Enice(int n) +{ + FatalErrnoError(nice(n)==-1, "nice()"); +} + +inline static WRAPPER_DECL void +Etruncate(const char *path, off_t length) +{ + FatalErrnoError(truncate(path,length)==-1, "truncate()"); +} + +inline static WRAPPER_DECL void +Eftruncate(int fd, off_t length) +{ + FatalErrnoError(ftruncate(fd,length)==-1, "ftruncate()"); +}