diff -rc db-4.5.20-orig/os/os_flock.c db-4.5.20/os/os_flock.c *** db-4.5.20-orig/os/os_flock.c 2006-10-13 12:36:12.000000000 +0200 --- db-4.5.20/os/os_flock.c 2006-10-13 12:40:11.000000000 +0200 *************** *** 30,35 **** --- 30,44 ---- DB_ASSERT(dbenv, F_ISSET(fhp, DB_FH_OPENED) && fhp->fd != -1); + #ifdef __CYGWIN__ + /* + * Windows file locking interferes with read/write operations, so we + * map the ranges to an area past the end of the file. + */ + DB_ASSERT(dbenv, offset < (off_t) 1 << 62); + offset += (off_t) 1 << 62; + #endif + fl.l_start = offset; fl.l_len = 1; fl.l_type = acquire ? F_WRLCK : F_UNLCK; Only in db-4.5.20/os: os_flock.c~