From: Daniel Hokka Zakrisson Date: Mon, 22 Oct 2007 20:43:09 +0000 (+0000) Subject: Fix startup bug on older kernels. X-Git-Tag: release-0.30.215~80 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b51c72db9d814cf664b40a5106afd13efe7b079;p=util-vserver.git Fix startup bug on older kernels. git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2627 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/src/vmemctrl.c b/src/vmemctrl.c index 46a5e63..6a4f560 100644 --- a/src/vmemctrl.c +++ b/src/vmemctrl.c @@ -65,8 +65,15 @@ struct Arguments { int64_t badness; bool do_set; bool do_get; + uint32_t mask; }; +static inline int +hasArg(struct Arguments *args, uint32_t arg) +{ + return (args->mask & arg) == arg; +} + static void showHelp(int fd, char const *cmd, int res) { @@ -94,7 +101,8 @@ showVersion() static inline void doset(struct Arguments *args) { - if (vc_set_badness(args->xid, args->badness) == -1) { + if (hasArg(args, CMD_BADNESS) && + vc_set_badness(args->xid, args->badness) == -1) { perror(ENSC_WRAPPERS_PREFIX "vc_set_badness()"); exit(wrapper_exit_code); } @@ -123,6 +131,7 @@ int main (int argc, char *argv[]) .do_get = false, .xid = VC_NOCTX, .badness = 0, + .mask = 0, }; while (1) { @@ -153,6 +162,7 @@ int main (int argc, char *argv[]) exit(wrapper_exit_code); break; } + args.mask |= c; } if (args.xid == VC_NOCTX) args.xid = Evc_get_task_xid(0);