diff --git a/src/system.c b/src/system.c index 052bd7d..10b2602 100644 --- a/src/system.c +++ b/src/system.c @@ -587,7 +587,7 @@ static int setup_poll_array(void **contexts, struct pollfd *polled) switch (desc->type) { case DESC_FILE: - assert(0); // TODO: error + // Ignore break; case DESC_SOCKET: diff --git a/src/wal.c b/src/wal.c index c8e36f7..e1a1edc 100644 --- a/src/wal.c +++ b/src/wal.c @@ -87,8 +87,10 @@ deserialize_callback(char *dst, int num, void *data) int copied = 0; while (copied < num) { int ret = file_read(rsc->handle, dst + copied, num - copied); - if (ret <= 0) + if (ret < 0) return -1; + if (ret == 0) + break; copied += ret; } return copied;