diff --git a/modules/logger-advanced.cc b/modules/logger-advanced.cc index 3fbb13a..e268e33 100644 --- a/modules/logger-advanced.cc +++ b/modules/logger-advanced.cc @@ -96,13 +96,17 @@ struct logtarget { } } - ret = open(hostname, O_TRUNC | O_WRONLY | O_CREAT, 0644); + ret = open(hostname, O_WRONLY | O_CREAT, 0644); if (ret == -1) { fprintf(stderr, "FATAL: open() failed: %m\n"); - abort(); + exit(EXIT_FAILURE); } fd = ret; + if (lseek(fd, 0, SEEK_END) == -1) { + fprintf(stderr, "FATAL: lseek(SEEK_END) failed: %m\n"); + exit(EXIT_FAILURE); + } } /* diff --git a/modules/logger-simple.cc b/modules/logger-simple.cc index 95a79df..41f6688 100644 --- a/modules/logger-simple.cc +++ b/modules/logger-simple.cc @@ -85,13 +85,17 @@ struct logtarget { } } - ret = open(hostname, O_TRUNC | O_WRONLY | O_CREAT, 0644); + ret = open(hostname, O_WRONLY | O_CREAT, 0644); if (ret == -1) { fprintf(stderr, "FATAL: open() failed: %m\n"); - abort(); + exit(EXIT_FAILURE); } fd = ret; + if (lseek(fd, 0, SEEK_END) == -1) { + fprintf(stderr, "FATAL: lseek(SEEK_END) failed: %m\n"); + exit(EXIT_FAILURE); + } } /*