svn commit: r226461 - head/sbin/hastd
Pawel Jakub Dawidek
pjd at FreeBSD.org
Mon Oct 17 09:54:08 UTC 2011
Author: pjd
Date: Mon Oct 17 09:54:07 2011
New Revision: 226461
URL: http://svn.freebsd.org/changeset/base/226461
Log:
When path to the configuration file is relative, obtain full path,
so we can always find the file, even after daemonizing and changing
working directory to /.
MFC after: 1 week
Modified:
head/sbin/hastd/hastd.c
Modified: head/sbin/hastd/hastd.c
==============================================================================
--- head/sbin/hastd/hastd.c Mon Oct 17 06:10:32 2011 (r226460)
+++ head/sbin/hastd/hastd.c Mon Oct 17 09:54:07 2011 (r226461)
@@ -1168,6 +1168,22 @@ main(int argc, char *argv[])
pjdlog_errno(LOG_WARNING, "Unable to open or create pidfile");
}
+ /*
+ * When path to the configuration file is relative, obtain full path,
+ * so we can always find the file, even after daemonizing and changing
+ * working directory to /.
+ */
+ if (cfgpath[0] != '/') {
+ const char *newcfgpath;
+
+ newcfgpath = realpath(cfgpath, NULL);
+ if (newcfgpath == NULL) {
+ pjdlog_exit(EX_CONFIG,
+ "Unable to obtain full path of %s", cfgpath);
+ }
+ cfgpath = newcfgpath;
+ }
+
cfg = yy_config_parse(cfgpath, true);
PJDLOG_ASSERT(cfg != NULL);
More information about the svn-src-head
mailing list