/* all these are initialised to seconds, and converted to periods in main */
static int reconnect_delay_periods=1000;
static int flushfail_retry_periods=1000;
-static int backlog_retry_minperiods=50;
+static int backlog_retry_minperiods=100;
static int backlog_spontrescan_periods=300;
static int spontaneous_flush_periods=100000;
static int max_separated_periods=2000;
main_input_file= open_input_file(feedfile);
if (!main_input_file)
- die("flush succeeded but feedfile %s does not exist!", feedfile);
+ die("flush succeeded but feedfile %s does not exist!"
+ " (this probably means feedfile does not correspond"
+ " to site %s in newsfeeds)", feedfile, sitename);
if (flushing_input_file) {
SMS(SEPARATED, max_separated_periods, "recovery flush complete");
sitename= *argv++;
if (!sitename) badusage("need site name argument");
- remote_host= *argv++;
+
+ if (*argv) remote_host= *argv++;
+ else remote_host= sitename;
+
if (*argv) badusage("too many non-option arguments");
/* defaults */
if (!path_run)
path_run= innconf->pathrun;
- if (!feedfile) {
- feedfile= xasprintf("%s/%s",innconf->pathoutgoing,sitename);
- } else if (!feedfile[0]) {
- badusage("feed filename, if specified, must be nonempty");
- } else if (path_ends_slash(feedfile)) {
+ if (!feedfile) feedfile= sitename;
+ if (!feedfile[0]) badusage("feed filename, if specified, must be nonempty");
+ if (path_ends_slash(feedfile))
feedfile= xasprintf("%s%s", feedfile, sitename);
- }
+ if (feedfile[0] != '/')
+ feedfile= xasprintf("%s/%s", innconf->pathoutgoing, feedfile);
if (!path_cli) {
path_cli_dir= "innduct";
/* set things up */
- r= chdir(path_run);
- if (r) sysdie("could not chdir to pathrun %s", path_run);
-
path_lock= xasprintf("%s_lock", feedfile);
path_flushing= xasprintf("%s_flushing", feedfile);
path_defer= xasprintf("%s_defer", feedfile);
self_pid= getpid();
if (self_pid==-1) sysdie("getpid");
+ r= chdir(path_run);
+ if (r) sysdie("could not chdir to pathrun %s", path_run);
+
statemc_lock();
init_signals();