diff --git a/app/rtkrcv/rtkrcv.c b/app/rtkrcv/rtkrcv.c index 114b539fcb5820694539660670548fcfba8eb431..3de6a2089a3835483a9a27e7602c591607777f38 100644 --- a/app/rtkrcv/rtkrcv.c +++ b/app/rtkrcv/rtkrcv.c @@ -116,6 +116,7 @@ static int modflgr[256] ={0}; /* modified flags of receiver options */ static int modflgs[256] ={0}; /* modified flags of system options */ static int moniport =0; /* monitor port */ static int keepalive =0; /* keep alive flag */ +static int start =0; /* auto start */ static int fswapmargin =30; /* file swap margin (s) */ static char sta_name[256]=""; /* station name */ @@ -1360,6 +1361,13 @@ static void *con_thread(void *arg) con->state=0; return 0; } + + /* auto start if option set */ + if (start) { + cmd_start(args,narg,con->vt); + start=0; + } + while (con->state) { /* output prompt */ @@ -1622,7 +1630,7 @@ static void accept_sock(int ssock, con_t **con) int main(int argc, char **argv) { con_t *con[MAXCON]={0}; - int i,start=0,port=0,outstat=0,trace=0,sock=0; + int i,port=0,outstat=0,trace=0,sock=0; char *dev="",file[MAXSTR]=""; for (i=1;i<argc;i++) { @@ -1690,11 +1698,7 @@ int main(int argc, char **argv) signal(SIGUSR2,sigshut); signal(SIGHUP ,SIG_IGN); signal(SIGPIPE,SIG_IGN); - - /* start rtk server */ - if (start) { - startsvr(NULL); - } + while (!intflg) { /* accept remote console connection */ accept_sock(sock,con);