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=e3be43e3ee2157a63ea175463629c2433f595854;hp=7e0e3dea5cb015f7333a35614d42da66f344b87c;hpb=c4cfd24d17cb9c3bb053ec46a0d335853d9a464e;p=util-vserver.git diff --git a/util-vserver/ensc_wrappers/wrappers-unistd.hc b/util-vserver/ensc_wrappers/wrappers-unistd.hc index 7e0e3de..908fee9 100644 --- a/util-vserver/ensc_wrappers/wrappers-unistd.hc +++ b/util-vserver/ensc_wrappers/wrappers-unistd.hc @@ -57,6 +57,16 @@ Eexecvp(char const *path, char *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 Epipe(int filedes[2]) { @@ -97,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()"); @@ -137,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() {