diff -up tokyocabinet-1.4.33/tcbdb.h.volatile tokyocabinet-1.4.33/tcbdb.h
--- tokyocabinet-1.4.33/tcbdb.h.volatile 2009-09-04 11:34:50.000000000 +0200
+++ tokyocabinet-1.4.33/tcbdb.h 2010-03-11 16:16:09.089775095 +0100
@@ -64,7 +64,7 @@ typedef struct {
uint64_t capnum; /* capacity number of records */
uint64_t *hist; /* history array of visited nodes */
int hnum; /* number of element of the history array */
- uint64_t hleaf; /* ID number of the leaf referred by the history */
+ volatile uint64_t hleaf; /* ID number of the leaf referred by the history */
uint64_t lleaf; /* ID number of the last visited leaf */
bool tran; /* whether in the transaction */
char *rbopaque; /* opaque for rollback */