forked from github/server
report directory in .ini file
sleep/retry when errno during report writing.
This commit is contained in:
parent
602853f0e2
commit
27c188ea1c
3 changed files with 65 additions and 48 deletions
|
@ -1267,6 +1267,7 @@ prepare_report(faction * f)
|
|||
int
|
||||
write_reports(faction * f, time_t ltime)
|
||||
{
|
||||
int backup = 1;
|
||||
boolean gotit = false;
|
||||
report_type * rtype = report_types;
|
||||
struct report_context ctx;
|
||||
|
@ -1281,6 +1282,8 @@ write_reports(faction * f, time_t ltime)
|
|||
get_seen_interval(&ctx);
|
||||
get_addresses(&ctx);
|
||||
|
||||
do {
|
||||
errno = 0;
|
||||
printf("Reports for %s:", factionname(f));
|
||||
fflush(stdout);
|
||||
|
||||
|
@ -1298,7 +1301,13 @@ write_reports(faction * f, time_t ltime)
|
|||
if (!gotit) {
|
||||
log_warning(("No report for faction %s!\n", factionid(f)));
|
||||
}
|
||||
|
||||
if (errno) {
|
||||
sprintf(buf, "Error writing reports, waiting %u seconds before retry.\n", backup);
|
||||
perror(buf);
|
||||
sleep(backup);
|
||||
backup *= 2;
|
||||
}
|
||||
} while (errno);
|
||||
freelist(ctx.addresses);
|
||||
seen_done(ctx.seen);
|
||||
return 0;
|
||||
|
|
|
@ -99,6 +99,7 @@ extern "C" {
|
|||
# define HAVE_STRNCASECMP
|
||||
# define HAVE_ACCESS
|
||||
# define HAVE_STAT
|
||||
# define HAVE_SLEEP
|
||||
typedef struct stat stat_type;
|
||||
# include <dirent.h>
|
||||
# define HAVE_READDIR
|
||||
|
@ -127,6 +128,7 @@ typedef struct stat stat_type;
|
|||
# define HAVE_STRICMP
|
||||
# define HAVE_STRNICMP
|
||||
# define HAVE_STRDUP
|
||||
# define HAVE_SLEEP
|
||||
# define snprintf _snprintf
|
||||
# define HAVE_SNPRINTF
|
||||
# undef HAVE_STRCASECMP
|
||||
|
@ -159,6 +161,9 @@ typedef struct _stat stat_type;
|
|||
# define strdup _strdup
|
||||
# define HAVE_STRDUP
|
||||
|
||||
# define sleep _sleep
|
||||
# define HAVE_SLEEP
|
||||
|
||||
# define stricmp(a, b) _stricmp(a, b)
|
||||
# define HAVE_STRICMP
|
||||
|
||||
|
|
|
@ -573,10 +573,6 @@ load_inifile(const char * filename)
|
|||
if (d) {
|
||||
const char * str;
|
||||
|
||||
lomem = iniparser_getint(d, "eressea:lomem", lomem)?1:0;
|
||||
quiet = iniparser_getint(d, "eressea:verbose", 0)?0:1;
|
||||
str = iniparser_getstr(d, "eressea:run");
|
||||
if (str) luafile = str;
|
||||
str = iniparser_getstr(d, "common:base");
|
||||
if (str) g_basedir = str;
|
||||
str = iniparser_getstr(d, "common:res");
|
||||
|
@ -585,6 +581,13 @@ load_inifile(const char * filename)
|
|||
if (str) xmlfile = str;
|
||||
str = iniparser_getstr(d, "common:scripts");
|
||||
if (str) script_path = str;
|
||||
lomem = iniparser_getint(d, "common:lomem", lomem)?1:0;
|
||||
|
||||
quiet = iniparser_getint(d, "eressea:verbose", 0)?0:1;
|
||||
str = iniparser_getstr(d, "eressea:run");
|
||||
if (str) luafile = str;
|
||||
str = iniparser_getstr(d, "eressea:report");
|
||||
if (str) g_reportdir = str;
|
||||
}
|
||||
inifile = d;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue