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]