+ bool fallback = false;
+
+ if(daemon) {
+ if(access(LOCALSTATEDIR, R_OK | W_OK | X_OK)) {
+ fallback = true;
+ }
+ } else {
+ char fname[PATH_MAX];
+ snprintf(fname, sizeof(fname), LOCALSTATEDIR SLASH "run" SLASH "%s.pid", identname);
+
+ if(access(fname, R_OK)) {
+ snprintf(fname, sizeof(fname), "%s" SLASH "pid", confbase);
+
+ if(!access(fname, R_OK)) {
+ fallback = true;
+ }
+ }
+ }
+
+ if(!fallback) {
+ if(!logfilename) {