5f2dcad945d0bf3aaa9c9449ae90a5f2ca69adf1 |
|
24-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't break fcntl locks when program does mmap. #280965. (Rusty Russell, rusty@rustcorp.com.au) tdb uses fcntl locks and mmap, and some of the tests fail under valgrind. strace showed valgrind opening the tdb file, reading 1024 bytes, then closing it. This is not allowed: POSIX says if you open and close a file, all fcntl locks on it are dropped (insane, yes). Finally got around to hacking the source to track this down: di_notify_mmap is doing the damage. The simplest fix was to hand in an optional fd for it to use, then have it do pread. I had to fix your pread; surely this should seek back even if the platform doesn't have pread support? git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12224 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/none/tests/mmap_fcntl_bug.stderr.exp
|