36 Commits

Author SHA1 Message Date
Leonid Yuriev
c6369e68a3 mdbx: draft support for non-Linux POSIX-platforms (FreeBSD, MacOS, etc).
Change-Id: Iaee2dc31b134fe92fc67508d011835a60f3723e6
2019-08-10 23:24:31 +03:00
Leonid Yuriev
4adb1ab2d8 mdbx: portability - rename lck-posix.c to lck-linux.c
Change-Id: I0ecee2b1a5d8e664eb795e5f5df2fa2d3cb73c83
2019-07-15 00:29:46 +03:00
Leonid Yuriev
97e4f66d16 mdbx: portability - support for musl libc.
Change-Id: Ida8a3bd9da896bc6c00bef931ddf3dce65bef8eb
2019-07-14 15:08:10 +03:00
Leonid Yuriev
1f89c494ff mdbx: refines OFF_T_MAX if it is not defined.
Change-Id: Ic453140e01725493cad0c98e73244c747d5f490e
2019-07-07 20:04:39 +03:00
Leo Yuriev
9ba8434c1d mdbx: fix __ANDROID__ typo.
Thank to Howard Chu <hyc@openldap.org>.

Change-Id: Ibcbe2e4790a5df5758d9fd6c621793ea42a94682
2019-02-03 17:53:00 +03:00
Leo Yuriev
9cc9116df3 mdbx: 2019 HNY.
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
2019-02-03 12:28:01 +03:00
Leonid Yuriev
f778f4a795 mdbx: add MDBX_SAFE4QEMU option for testing under QEMU.
Change-Id: Ide674e0125e2746f73a7ba44828316a60633e887
2018-11-26 19:08:30 +03:00
Leonid Yuriev
3bae0723b7 mdbx: refine mdbx_mutex_failed(). 2018-10-21 20:27:49 +03:00
Leo Yuriev
e0fcd6e0ec mdbx: add PTHREAD_MUTEX_ERRORCHECK for shared mutexes.
Change-Id: Ib9520b6bc68b294088298b1901278fab824ea43e
2018-08-02 18:36:45 +03:00
Leo Yuriev
cb70cb18fc mdbx: use 'short' for lck-type (minor). 2018-08-01 18:31:09 +03:00
Leo Yuriev
ac54a3959d mdbx: add fallback2shared for mdbx_lck_exclusive(). 2018-08-01 18:31:09 +03:00
Leo Yuriev
5a1f388db5 mdbx: drop unused mdbx_lck_upgrade(). 2018-08-01 18:16:40 +03:00
Leo Yuriev
ba1387b791 mdbX: add few __cold (minor).
Change-Id: I8b99ea4f3829c6b08355cc8de0a11962756370af
2018-06-30 14:18:36 +03:00
Leo Yuriev
d90e6187f7 mdbx: support exclusive mode without lck-file.
Change-Id: I1beef09d62965d0d777f579a8aa6f15c478eebd2
2018-06-30 14:15:24 +03:00
Leo Yuriev
571b50622e mdbx: restore workaround for glibc's bug #21031.
Workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=21031

Change-Id: I6cf9e037cc2fc298096b78ec96773f19478ed5c0
2018-04-03 17:44:18 +03:00
Leo Yuriev
a93fafceff mdbx: strip utf8-bom for Elbrus (minor).
Change-Id: I9030abe267c4abfa2c5c2deb439c0b8025b83047
2018-03-07 12:09:43 +03:00
Leo Yuriev
72557af2b5 mdbx: HNY!
Change-Id: I2a91b986964d96bb3e5f848e3c17408bd7745866
2018-02-04 13:10:54 +03:00
Leo Yuriev
0a7a290d06 mdbx: drop mdbx_txn_trylock(). 2017-10-26 21:49:39 +03:00
Leo Yuriev
5e1721efdd mdbx: fix mdbx_robust_trylock(). 2017-10-26 21:49:38 +03:00
James Rouzier
7c466e53f0 Add the ability to not block when opening a write transaction 2017-10-25 19:41:28 -04:00
Leonid Yuriev
c8a5df650b mdbx: fix/rework exclusive-locking for Windows.
Change-Id: I1b129a10ed7523024481480647317f1643f2ea70
2017-07-19 14:13:31 +03:00
Leo Yuriev
ddc3787936 mdbx: fix MDBX_RESULT_TRUE handling inside mdbx_mutex_failed()...mdbx_oomkick(). 2017-06-15 14:56:25 +03:00
Leo Yuriev
d2d513014d mdbx: add mdbx_lck_upgrade() to OSAL. 2017-06-06 20:28:00 +03:00
Leo Yuriev
06de7a5155 mdbx: rename the rest MDBX_xyz. 2017-05-24 02:24:38 +03:00
Leo Yuriev
8828e90ff9 mdbx: mdbx_condmutex_t instead of mutex/condvar pair. 2017-05-23 19:57:26 +03:00
Leo Yuriev
b4fd0500d1 mdbx: more lck-debug. 2017-05-18 16:17:24 +03:00
Leo Yuriev
6ee3aebc32 mdbx: use flock() for share/exclusive lck. 2017-05-18 16:17:24 +03:00
Leo Yuriev
333e5fada3 mdbx: internal cleanup (rename, etc). 2017-04-26 19:11:34 +03:00
Leo Yuriev
11ac6a02ff mdbx: rework posix-lck.
Change-Id: Icdd61731424b0d591fd28da0468b9623d079c94a
2017-04-23 19:16:22 +03:00
Leo Yuriev
8bed6a5c89 mdbx: fix mdbx_rthc_remove(). 2017-04-23 19:16:22 +03:00
Leo Yuriev
55226499a8 mdbx: rework reader_check0() and mutex recovery. 2017-04-23 19:16:22 +03:00
Leo Yuriev
36f1491ba8 mdbx: cleanup mdbx_mutex_failed(). 2017-04-23 19:16:22 +03:00
Leo Yuriev
585496339a mdbx: kill/remove mm_txnid. 2017-04-23 19:16:22 +03:00
Leo Yuriev
c2087f186e mdbx: fix/rework mdbx_reader_check(). 2017-04-23 19:16:21 +03:00
Leo Yuriev
fcb63130d6 mdbx: fix posix mdbx_lck_destroy(). 2017-04-05 18:20:25 +03:00
Leo Yuriev
0f49ed6e53 mdbx: big-bang (initial).
- OS Abstraction Layer;
 - Windows Support.
 - preparation for more changes.

Change-Id: I53772eda9091ba361cbc9a28656190ea0d4c5cee
2017-03-29 00:53:39 +03:00