aboutsummaryrefslogtreecommitdiff
path: root/jabberd/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'jabberd/main.c')
-rw-r--r--jabberd/main.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/jabberd/main.c b/jabberd/main.c
index e726d3a..a206bc9 100644
--- a/jabberd/main.c
+++ b/jabberd/main.c
@@ -422,6 +422,7 @@ struct transport_rec
int retr[2];
int depc;
char **depv;
+ char *pidfile;
};
static void
@@ -471,6 +472,14 @@ cfg_transport_depend (struct cfg_file *file, char *kw, char *val, void *data)
}
void
+cfg_transport_pidfile (struct cfg_file *file, char *kw, char *val,
+ void *data)
+{
+ struct transport_rec *prec = data;
+ prec->pidfile = strdup (val);
+}
+
+void
cfg_transport (struct cfg_file *file, char *kw, char *val, void *unused)
{
int rc;
@@ -484,6 +493,7 @@ cfg_transport (struct cfg_file *file, char *kw, char *val, void *unused)
{ "stderr", cfg_transport_stderr },
{ "facility", cfg_transport_facility },
{ "depend", cfg_transport_depend },
+ { "pidfile", cfg_transport_pidfile },
{ NULL }
};
memset (&rec, 0, sizeof rec);
@@ -499,9 +509,10 @@ cfg_transport (struct cfg_file *file, char *kw, char *val, void *unused)
config_file, file->line, strerror (rc));
return;
}
- register_transport (rec.tag, argv, rec.retr, rec.depv);
+ register_transport (rec.tag, argv, rec.retr, rec.depv, rec.pidfile);
free (rec.tag);
free (rec.command);
+ free (rec.pidfile);
argcv_free (rec.depc, rec.depv);
argcv_free (argc, argv);
}

Return to:

Send suggestions and report system problems to the System administrator.