cygrunsrv logging OK; patch to --args handling

Fred Yankowski
Tue May 22 09:53:00 GMT 2001

Corinna Vinschen wrote:
> I have added the stdio redirection facility now. It's in CVS.
> Is anybody interested to test it before releasing it?

The --stdin and --stderr options seem to work well for me, and the
default of logging to /var/log/<svc_name>.log also works well.

OT: The code to handle quotes in the --args value didn't work for me
until I applied the attached small patch.  I've tested it in a few
cases, but it deserves a careful inspection.

With this change, cygrunsrv does a good job of wrapping a PostgreSQL
service, except for the NT-shutdown case (which I haven't tested yet). 
Here is how I'm setting up that service:

    /usr/local/src/cygrunsrv-cvs/cygrunsrv.exe --install postmaster2 \
	--path /usr/local/pgsql/bin/postmaster \
	--args "-D /usr/local/pgsql/data -i -d 2 -o '-o /var/log/postgres.log'"
	--dep ipc-daemon --termsig INT --user postgresql

I was using --stderr too, but the default works just as well.

Fred Yankowski       tel: +1.630.879.1312
Principal Consultant       fax: +1.630.879.1370
OntoSys, Inc             38W242 Deerpath Rd, Batavia, IL 60510, USA
RCS file: /home/cvs/cvsroot/src/cygrunsrv/,v
retrieving revision 1.5
diff -u -p -r1.5
---	2001/05/21 19:26:30	1.5
+++	2001/05/22 16:51:41
@@ -424,9 +424,9 @@ eval_arglist (const char *path, char *ar
 	arglist = tmp;
 	arglist[count - 2] = c;
 	arglist[count - 1] = NULL;
-	while (*c && *c != ' ')
+	while (*c && *c != stopchar)
-	if (*c == ' ')
+	if (*c)
 	  *c = '\0';

More information about the Cygwin-apps mailing list