Changeset: 11be57ccd031 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=11be57ccd031
Modified Files:
        gdk/gdk_logger.c
Branch: default
Log Message:

Empty log file is ok.
The log file can be empty if the server was killed before it flushed
the log file.  This is ok.


diffs (26 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1000,13 +1000,20 @@ logger_readlog(logger *lg, char *filenam
                return GDK_SUCCEED;
        }
        short byteorder;
-       if (mnstr_read(lg->log, &byteorder, sizeof(byteorder), 1) < 1) {
+       switch (mnstr_read(lg->log, &byteorder, sizeof(byteorder), 1)) {
+       case -1:
                close_stream(lg->log);
                lg->log = NULL;
                GDKdebug = dbg;
                return GDK_FAIL;
+       case 0:
+               /* empty file is ok */
+               break;
+       case 1:
+               /* if not empty, must start with correct byte order mark */
+               assert(byteorder == 1234);
+               break;
        }
-       assert(byteorder == 1234);
        if ((fd = getFileNo(lg->log)) < 0 || fstat(fd, &sb) < 0) {
                fprintf(stderr, "!ERROR: logger_readlog: fstat on opened file 
%s failed\n", filename);
                close_stream(lg->log);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to