diff --git a/app/redis-3.2.8/src/server.c b/app/redis-3.2.8/src/server.c index 5b962a6f..835b1868 100644 --- a/app/redis-3.2.8/src/server.c +++ b/app/redis-3.2.8/src/server.c @@ -3957,17 +3957,17 @@ int main(int argc, char **argv) { int rc = ff_init(argc, argv); assert(0 == rc); ff_mod_init(); - //split fstack arguments. - int new_argc = argc - 3; + int new_argc = argc - 4; if (new_argc <= 0) { new_argc = 1; } - char **new_argv = zmalloc(sizeof(char *) * new_argc); + + char **new_argv = zmalloc(sizeof(char *) * new_argc); new_argv[0] = argv[0]; - int i; - for (i = 1; i < new_argc; i++) { - new_argv[i] = argv[i + 3]; - } + int i; + for (i = 1; i < new_argc; i++) { + new_argv[i] = argv[i + 4]; + } argv = new_argv; argc = new_argc; #endif diff --git a/start.sh b/start.sh index c8f78f6f..60b4d0df 100755 --- a/start.sh +++ b/start.sh @@ -5,6 +5,7 @@ function usage() { echo "Options:" echo " -c [conf] Path of config file" echo " -b [N] Path of binary" + echo " -o [N] Other ARGs for app" echo " -h show this help" exit } @@ -12,7 +13,7 @@ function usage() { conf=config.ini bin=./example/helloworld -while getopts "c:b:h" args +while getopts "c:b:o:h" args do case $args in c) @@ -21,6 +22,9 @@ do b) bin=$OPTARG ;; + o) + others=$OPTARG + ;; h) usage exit 0 @@ -47,11 +51,11 @@ for((proc_id=0; proc_id<${num_procs}; ++proc_id)) do if ((proc_id == 0)) then - echo "${bin} --conf ${conf} --proc-type=primary --proc-id=${proc_id}" - ${bin} --conf ${conf} --proc-type=primary --proc-id=${proc_id} & + echo "${bin} --conf ${conf} --proc-type=primary --proc-id=${proc_id} ${others}" + ${bin} --conf ${conf} --proc-type=primary --proc-id=${proc_id} ${others} & sleep 5 else - echo "${bin} --conf ${conf} --proc-type=secondary --proc-id=${proc_id}" - ${bin} --conf ${conf} --proc-type=secondary --proc-id=${proc_id} & + echo "${bin} --conf ${conf} --proc-type=secondary --proc-id=${proc_id} ${others}" + ${bin} --conf ${conf} --proc-type=secondary --proc-id=${proc_id} ${others} & fi done