aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--slowcgi.86
-rw-r--r--slowcgi.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/slowcgi.8 b/slowcgi.8
index e1f0afb..34f5f53 100644
--- a/slowcgi.8
+++ b/slowcgi.8
@@ -22,7 +22,7 @@
.Nd a FastCGI to CGI wrapper server
.Sh SYNOPSIS
.Nm
-.Op Fl dv
+.Op Fl dfv
.Op Fl p Ar path
.Op Fl s Ar socket
.Op Fl t Ar timeout
@@ -65,6 +65,10 @@ Do not daemonize.
If this option is specified,
.Nm
will run in the foreground and log to stderr.
+.It Fl f
+As
+.Fl d ,
+but log to syslog.
.It Fl p Ar path
.Xr chroot 2
to
diff --git a/slowcgi.c b/slowcgi.c
index ce1530c..fe4c3d3 100644
--- a/slowcgi.c
+++ b/slowcgi.c
@@ -278,7 +278,7 @@ usage(void)
{
extern char *__progname;
fprintf(stderr,
- "usage: %s [-dv] [-p path] [-s socket] [-t timeout] [-U user] "
+ "usage: %s [-dfv] [-p path] [-s socket] [-t timeout] [-U user] "
"[-u user]\n", __progname);
exit(1);
}
@@ -286,6 +286,7 @@ usage(void)
struct timeval timeout = { TIMEOUT_DEFAULT, 0 };
struct slowcgi_proc slowcgi_proc;
int debug = 0;
+int foreground = 0;
int verbose = 0;
int on = 1;
char *fcgi_socket = "/var/www/run/slowcgi.sock";
@@ -320,11 +321,14 @@ main(int argc, char *argv[])
}
}
- while ((c = getopt(argc, argv, "dp:s:t:U:u:v")) != -1) {
+ while ((c = getopt(argc, argv, "dfp:s:t:U:u:v")) != -1) {
switch (c) {
case 'd':
debug++;
break;
+ case 'f':
+ foreground = 1;
+ break;
case 'p':
chrootpath = optarg;
break;
@@ -355,7 +359,7 @@ main(int argc, char *argv[])
if (geteuid() != 0)
errx(1, "need root privileges");
- if (!debug && daemon(0, 0) == -1)
+ if (!debug && !foreground && daemon(0, 0) == -1)
err(1, "daemon");
if (!debug) {