int appendonly = server.appendonly;
long loops = 0;
- if (redis_fstat(fileno(fp),&sb) != -1 && sb.st_size == 0)
+ if (fp && redis_fstat(fileno(fp),&sb) != -1 && sb.st_size == 0) {
+ fclose(fp);
return REDIS_ERR;
+ }
if (fp == NULL) {
redisLog(REDIS_WARNING,"Fatal error: can't open the append log file for reading: %s",strerror(errno));
pid_t childpid;
if (server.bgrewritechildpid != -1) return REDIS_ERR;
- redisAssert(server.ds_enabled == 0);
+ if (server.ds_enabled != 0) {
+ redisLog(REDIS_WARNING,"BGREWRITEAOF called with diskstore enabled: AOF is not supported when diskstore is enabled. Operation not performed.");
+ return REDIS_ERR;
+ }
if ((childpid = fork()) == 0) {
/* Child */
char tmpfile[256];
} else {
redisLog(REDIS_WARNING,
"Background append only file rewriting terminated by signal %d",
- bysitnal);
+ bysignal);
}
cleanup:
sdsfree(server.bgrewritebuf);