Author: jfclere Date: Thu Apr 28 02:36:02 2005 New Revision: 165124 URL: http://svn.apache.org/viewcvs?rev=165124&view=rev Log: Allow to use a parameter value for the maximum waiting time. The minimum supported is 10, default behaviour is to return without waiting for the JVM to start. The value are rounded to by 10% of the value because the logic makes only 10 waiting loops.
Modified: jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.c jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.h jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c Modified: jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.c URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.c?rev=165124&r1=165123&r2=165124&view=diff ============================================================================== --- jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.c (original) +++ jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.c Thu Apr 28 02:36:02 2005 @@ -43,7 +43,7 @@ args->help=false; /* Don't display help */ args->chck=false; /* Don't do a check-only startup */ args->stop=false; /* Stop a running jsvc */ - args->wait=false; /* Wait until jsvc has started the JVM */ + args->wait=0; /* Wait until jsvc has started the JVM */ args->install=false; /* Don't install as a service */ args->remove=false; /* Don't remove the installed service */ args->service=false; /* Don't run as a service */ @@ -116,7 +116,13 @@ log_debug_flag=true; } else if (strcmp(argv[x],"-wait")==0) { - args->wait=true; + temp=optional(argc,argv,x++); + if (temp!=NULL) + args->wait=atoi(temp); + if (args->wait<10) { + log_error("Invalid wait time specified (min=10)"); + return(NULL); + } } else if (strcmp(argv[x],"-stop")==0) { args->stop=true; @@ -256,7 +262,7 @@ log_debug("| Stop: %s",IsTrueFalse(args->stop)); - log_debug("| Wait: %s",IsTrueFalse(args->wait)); + log_debug("| Wait: %d",args->wait); log_debug("| Run as service: %s",IsYesNo(args->service)); Modified: jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.h URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.h?rev=165124&r1=165123&r2=165124&view=diff ============================================================================== --- jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.h (original) +++ jakarta/commons/proper/daemon/trunk/src/native/unix/native/arguments.h Thu Apr 28 02:36:02 2005 @@ -53,8 +53,8 @@ bool chck; /** Stop running jsvc */ bool stop; - /** Wait until service started */ - bool wait; + /** number of seconds to until service started */ + int wait; /** Install as a service (win32) */ bool install; /** Remove when installed as a service (win32) */ Modified: jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c?rev=165124&r1=165123&r2=165124&view=diff ============================================================================== --- jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c (original) +++ jakarta/commons/proper/daemon/trunk/src/native/unix/native/jsvc-unix.c Thu Apr 28 02:36:02 2005 @@ -368,8 +368,9 @@ bool havejvm=false; int fd; char buff[80]; - int i, status; + int i, status, waittime; log_debug("wait_child %d", pid); + waittime = args->wait/10; while (count>0) { sleep(1); /* check if the controler is still running */ @@ -406,10 +407,10 @@ } } } - sleep(5); + sleep(waittime); count--; } - return(1); /* It takes more than a minute to start, something must be wrong */ + return(1); /* It takes more than the wait time to start, something must be wrong */ } /* @@ -649,7 +650,7 @@ } /* If we're in the parent process */ if (pid!=0) { - if (args->wait==true) + if (args->wait>=10) return(wait_child(args,pid)); else return(0); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]