22 Commits

Author SHA1 Message Date
Leonid Yuriev
fbf55e17cb mdbx-windows: one more workaround for Wine.
SetFileInformationByHandle() is not implemented by Wine.

Change-Id: I61783c8d173397094cd6cbad7efc9d7aac57b470
002c:Call KERNEL32.SetFileInformationByHandle(00000060,00000006,0022f890,00000008) ret=127dd1b2
002c:fixme:file:SetFileInformationByHandle 0000000000000060, 6, 000000000022F890, 8
002c:Ret  KERNEL32.SetFileInformationByHandle() retval=00000000 ret=127dd1b2

Related to https://github.com/erthink/libmdbx/issues/83
2020-02-22 20:02:17 +03:00
Leonid Yuriev
289f2896d0 mdbx-windows: more for Wine.
Related to https://github.com/erthink/libmdbx/issues/83.

UnlockFile() cold return ERROR_LOCK_VIOLATION when file not locked, instead of ERROR_NOT_LOCKED.
Current versions of Wine seem to work correctly.

Change-Id: Ibc5bd4352184efc7f88705e7ae04d6656286a96e
2020-02-21 19:58:32 +03:00
Leo Yuriev
f750086bc1 mdbx-windows: rework workaround for Wine.
Resolves https://github.com/erthink/libmdbx/issues/83
in accordance with https://bugs.winehq.org/show_bug.cgi?id=48620

Change-Id: Ieb4385efdcd86c865184a783363cf6e90da14f61
2020-02-18 22:51:34 +03:00
Leo Yuriev
60a6560a3b mdbx: workaround for NtExtendSection() on Wine.
This fixes https://github.com/erthink/libmdbx/issues/83

Change-Id: I8e00aa91c86348fad9dbe4285143671d9cb3f802
2020-02-17 22:55:17 +03:00
Leonid Yuriev
7c894f0542 mdbx: HNY!
Change-Id: Idbd21263408f87ac2715675c9f7ccc6c44d41c9a
2020-01-21 00:17:55 +03:00
Leonid Yuriev
a5fb5887f9 mdbx: minor refine/fix lock-related erro logging.
Change-Id: Id507819b6b2b0c1a57ec71bd031c5068cb2098e1
2019-12-21 23:33:12 +03:00
Leonid Yuriev
867c537655 mdbx: refine sync-to-disk (lazy/dsync fds).
Change-Id: I4bad81a1a0b5ccbefdc598f58a7d683fa7d8b504
2019-12-21 23:33:12 +03:00
Leonid Yuriev
76099d951c mdbx-windows: interpret ERROR_ACCESS_DENIED from OpenProcess() as 'process exists'.
Change-Id: I22e3e3d3d72531e76848793f1e3522d0c1767618
2019-12-13 16:17:31 +03:00
Leonid Yuriev
cf884f082f mdbx: initial osal_bootid().
Change-Id: I103f61714a1d2e58d4f508b7d814a56f5b58573c
2019-11-04 12:31:51 +03:00
Leonid Yuriev
b274c4a730 mdbx: fix to avoid ERROR_USER_MAPPED_FILE on Windows (minor race condition). 2019-11-04 00:22:13 +03:00
Leonid Yuriev
9c89e7c739 mdbx: refine discarding of unused pages (MADV_FREE/MADV_REMOVE/MADV_DONTNEED).
Change-Id: I657eb7ef9060214d6ed3d75a2deeebc9ff3df5f5
2019-11-04 00:22:13 +03:00
Leonid Yuriev
84bff89eb1 mdbx: conform to and use -Wpedantic.
Change-Id: I3056af7ae53c5a7c3ecbfe828ab1d5ee94c2bc26
2019-10-26 00:02:28 +03:00
Leonid Yuriev
ed515d4642 mdbx: fix static library build on Windows. 2019-10-24 11:51:25 +03:00
Leonid Yuriev
dcd3c497d9 mdbx-windows: rename mdbx_dll_handler() to avoid confusion with callbacks.
Change-Id: I1ee9e9aa46da33f06cf935d3be059f938416efb5
2019-09-28 00:46:16 +03:00
Leonid Yuriev
b3c2118eb4 mdbx: explicity types inside LCK-file, reserve ABA-solver for 32-bit archs.
Change-Id: I2d1235365709858e2deb9f195f0fe8403721c705
2019-09-23 23:04:39 +03:00
Leonid Yuriev
3ec081c187 mdbx-build: add 'make dist' target.
Change-Id: I72c2ff2f90e9da4664bf542761fe445bb713a67a
2019-09-10 02:28:41 +03:00
Leonid Yuriev
e7095e9ada mdbx: remove UTF8-BOM (preparation for 'make dist').
Change-Id: I2d0ccc9f7bbed6d57b2fe6ef156f33531a4eeb69
2019-09-10 02:18:50 +03:00
Leonid Yuriev
449307a69f mdbx-build: sourcery pinning (but cmake requires manually config-files removal for now). 2019-09-09 14:29:05 +03:00
Leonid Yuriev
0667f4f211 mdbx-windows: define the dll's entry point only depending on the MDBX_AVOID_CRT option. 2019-09-09 11:32:50 +03:00
Leonid Yuriev
1829a2a5c1 mdbx: workaround for FreeBSD shared mutexes initialization.
- pass inprocess_neighbor into mdbx_lck_init().
 - don't perform mutexes initialization if LCK already used in the current process.
 - don't perform additional in-process mutex initialization if LCK used in any other process(es), except for FreeBSD.
2019-09-04 11:46:03 +03:00
Leonid Yuriev
874418a301 mdbx: rework POSIX-lck and merge with Linux-lck.
Change-Id: Id8fbc81b9a2ad3a3a7499ecf9a012314e1f8062a
2019-09-03 02:43:14 +03:00
Leonid Yuriev
f81374a9ce mdbx-build: amalgamation.
Change-Id: Ic32de6ee119df2bc12136b882f4f7cabaa1314a9
2019-09-03 02:30:55 +03:00