Fix page_flush, use off_t correctly

vl32b
Howard Chu 9 years ago
parent 82728cda3d
commit 505d215e91
  1. 2
      libraries/liblmdb/Makefile
  2. 7
      libraries/liblmdb/mdb.c

@ -23,7 +23,7 @@ AR = ar
W = -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized
THREADS = -pthread
OPT = -O2 -g
XCFLAGS = -DMDB_VL32
XCFLAGS = -DMDB_VL32 -D_FILE_OFFSET_BITS=64
CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS)
LDLIBS = # -lntdll # Windows needs ntdll
SOLIBS = # -lntdll

@ -3410,15 +3410,16 @@ mdb_page_flush(MDB_txn *txn, int keep)
MDB_ID2L dl = txn->mt_u.dirty_list;
unsigned psize = env->me_psize, j;
int i, pagecount = dl[0].mid, rc;
size_t size = 0, pos = 0;
size_t size = 0;
off_t pos = 0;
pgno_t pgno = 0;
MDB_page *dp = NULL;
#ifdef _WIN32
OVERLAPPED ov;
#else
struct iovec iov[MDB_COMMIT_PAGES];
ssize_t wpos = 0, wsize = 0, wres;
size_t next_pos = 1; /* impossible pos, so pos != next_pos */
ssize_t wsize = 0, wres;
off_t wpos = 0, next_pos = 1; /* impossible pos, so pos != next_pos */
int n = 0;
#endif

Loading…
Cancel
Save