X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fensc_wrappers%2Fwrappers-unistd.hc;h=908fee92b759028c8fae894b9acb16f688603868;hb=702ac5383430e4dd00f3610a78dadf6f84e4296b;hp=2aa6ff712ea8f23b176c4c11e66ae30101fe668e;hpb=c66b2f97361761b8a87058dc7a49ab59d4520556;p=util-vserver.git diff --git a/util-vserver/ensc_wrappers/wrappers-unistd.hc b/util-vserver/ensc_wrappers/wrappers-unistd.hc index 2aa6ff7..908fee9 100644 --- a/util-vserver/ensc_wrappers/wrappers-unistd.hc +++ b/util-vserver/ensc_wrappers/wrappers-unistd.hc @@ -43,10 +43,28 @@ Echroot(char const path[]) FatalErrnoError(chroot(path)==-1, "chroot()"); } -inline static WRAPPER_DECL void +inline static WRAPPER_DECL NORETURN void Eexecv(char const *path, char *argv[]) { - FatalErrnoError(execv(path,argv)==-1, "execv()"); + execv(path,argv); + FatalErrnoErrorFail("execv()"); +} + +inline static WRAPPER_DECL NORETURN void +Eexecvp(char const *path, char *argv[]) +{ + execvp(path,argv); + FatalErrnoErrorFail("execvp()"); +} + +inline static WRAPPER_DECL NORETURN void +EexecvpD(char const *path, char *argv[]) +{ + execvp(path,argv); + { + ENSC_DETAIL1(msg, "execvp", path, 1); + FatalErrnoErrorFail(msg); + } } inline static WRAPPER_DECL void @@ -89,12 +107,26 @@ Ereadlink(const char *path, char *buf, size_t bufsiz) } inline static WRAPPER_DECL void +EreadlinkD(const char *path, char *buf, size_t bufsiz) +{ + ENSC_DETAIL1(msg, "readlink", path, 1); + FatalErrnoError(readlink(path, buf, bufsiz)==-1, msg); +} + +inline static WRAPPER_DECL void Esymlink(const char *oldpath, const char *newpath) { FatalErrnoError(symlink(oldpath, newpath)==-1, "symlink()"); } inline static WRAPPER_DECL void +EsymlinkD(const char *oldpath, const char *newpath) +{ + ENSC_DETAIL2(msg, "symlink", oldpath, newpath, 1, 1); + FatalErrnoError(symlink(oldpath, newpath)==-1, msg); +} + +inline static WRAPPER_DECL void Eunlink(char const *pathname) { FatalErrnoError(unlink(pathname)==-1, "unlink()"); @@ -129,6 +161,15 @@ Edup2(int oldfd, int newfd) return res; } +inline static WRAPPER_DECL int +Edup(int fd) +{ + register int res = dup(fd); + FatalErrnoError(res==-1, "dup()"); + + return res; +} + inline static WRAPPER_DECL pid_t Esetsid() {