From c4cfd24d17cb9c3bb053ec46a0d335853d9a464e Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Tue, 17 Feb 2004 02:32:39 +0000 Subject: [PATCH] fixed some 'noreturn' warnings for the execv() functions git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@909 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/ensc_wrappers/wrappers-unistd.hc | 6 ++++-- util-vserver/ensc_wrappers/wrappers_handler.hc | 13 +++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/util-vserver/ensc_wrappers/wrappers-unistd.hc b/util-vserver/ensc_wrappers/wrappers-unistd.hc index 5d7213a..7e0e3de 100644 --- a/util-vserver/ensc_wrappers/wrappers-unistd.hc +++ b/util-vserver/ensc_wrappers/wrappers-unistd.hc @@ -46,13 +46,15 @@ Echroot(char const path[]) 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[]) { - FatalErrnoError(execvp(path,argv)==-1, "execvp()"); + execvp(path,argv); + FatalErrnoErrorFail("execvp()"); } inline static WRAPPER_DECL void diff --git a/util-vserver/ensc_wrappers/wrappers_handler.hc b/util-vserver/ensc_wrappers/wrappers_handler.hc index 7f7ca44..663b2d0 100644 --- a/util-vserver/ensc_wrappers/wrappers_handler.hc +++ b/util-vserver/ensc_wrappers/wrappers_handler.hc @@ -24,13 +24,18 @@ #include #include -static UNUSED void -FatalErrnoError(bool condition, char const msg[]) /*@*/ +static inline ALWAYSINLINE NORETURN void +FatalErrnoErrorFail(char const msg[]) { extern int wrapper_exit_code; - if (!condition) return; perror(msg); - exit(wrapper_exit_code); } + +static UNUSED void +FatalErrnoError(bool condition, char const msg[]) /*@*/ +{ + if (!condition) return; + FatalErrnoErrorFail(msg); +} -- 1.8.1.5