Leonid Yuriev
07aa657b63
mdbx-build: minor refine Makefile.
...
Change-Id: I7aa2cbd30da61ae47216d557a993ee3cca6edab5
2019-08-20 23:35:45 +03:00
Leonid Yuriev
887cbc7f00
mdbx: update README (MacOS support).
...
Change-Id: Id85b79fb605702fff606b62a5114951bfb9cb22e
2019-08-20 15:04:56 +03:00
Leonid Yuriev
e04bfc05fa
mdbx: rename MDBX_OSX_SPEED_INSTEADOF_DURABILITY option.
...
Change-Id: I1d0a05880507da0781ccd2bff5fa68610ad884a9
2019-08-20 15:04:52 +03:00
Leonid Yuriev
6f0a11f155
mdbx: merge branch 'osx-try'.
...
This resolves https://github.com/leo-yuriev/libmdbx/issues/49 .
Change-Id: Ib20c3898e99ca229f10e7d41cda3989b8b4a832c
2019-08-20 03:18:31 +03:00
Leonid Yuriev
657d37c9e3
mdbx: add MDBX_OSX_SPEED_OR_DURABILITY build-time #define for MacOS.
2019-08-20 02:48:30 +03:00
Leonid Yuriev
ccbf3a2bcf
mdbx: rework mdbx_filesync().
2019-08-20 00:56:06 +03:00
Leonid Yuriev
261f697d8c
mdbx: skip msync(MS_ASYNC) on Linux > 2.6.19.
...
Change-Id: Ic1f631ef856a09cf62353c2b0092b0341ecf4fa2
2019-08-19 21:31:23 +03:00
Leonid Yuriev
226cb3ac90
mdbx: use F_FULLFSYNC on MacOS.
2019-08-19 20:41:02 +03:00
Leonid Yuriev
691898d129
mdbx-make: fix so/dll-suffix for MacOS.
2019-08-19 19:10:41 +03:00
Leonid Yuriev
351939dd5d
mdbx-test: reduce number of test-iteration for MacOS.
...
Change-Id: Ic9df6a9ce66ee2cc165e2525953eee998e653932
2019-08-19 16:43:41 +03:00
Leonid Yuriev
32a5b9089b
mdbx-test: extend darwin-pthread-barrier for multiprocess-shared.
2019-08-13 02:44:45 +03:00
Leonid Yuriev
3f64d45819
mdbx-test: initial OSX support.
2019-08-13 02:16:15 +03:00
Leonid Yuriev
054a88c502
mdbx-test: add darwin-pthread-barrier.
...
Import from https://github.com/ademakov/DarwinPthreadBarrier with minor changes.
2019-08-13 02:10:03 +03:00
Leonid Yuriev
91088af935
mdbx: initial OSX support.
2019-08-13 02:10:03 +03:00
Leonid Yuriev
f5a25b8d5e
mdbx-ci: enable OSX build for travis-ci.
...
Change-Id: Ib11e95942b27e131496b0804591f1d5b64cb9272
2019-08-13 02:10:03 +03:00
Leonid Yuriev
dcd4574510
mdbx-build: more Qt-Creator files.
...
Change-Id: Ie65ee47f14a403903c3e1a6dae96c00ff35bac25
2019-08-12 15:55:24 +03:00
Leonid Yuriev
7960f67ea6
mdbx-chk: "backed-pages > file-pages" isn't error in the non-exclusive or read-only modes.
2019-08-12 15:44:15 +03:00
Leonid Yuriev
bceace7a09
mdbx: clarify shrink/grow-related internals.
2019-08-12 15:44:15 +03:00
Leonid Yuriev
5244c1a9c2
mdbx-chk: "backed-pages less filesize" isn't an error on Windows.
...
Change-Id: Iea212a469225b0617221cdf292352eb1f896b4c6
2019-08-12 12:23:02 +03:00
Leonid Yuriev
cfaed9d761
mdbx-chk: don't use internal mdbx_filesize().
...
Change-Id: I539b92f345ba7884629b702b2568ca805466be3a
2019-08-12 11:40:58 +03:00
Leonid Yuriev
5b09105a6d
mdbx-chk: check filesize/backed-pages/alloc-pages.
...
Change-Id: I231e461d81d3157441f67d2c28470283eb68920a
2019-08-12 02:55:53 +03:00
Leonid Yuriev
bc3d1a84cc
mdbx-chk: use mdbx_env_stat2() and mdbx_env_stat2() to avoid races.
...
Change-Id: Ib956c19bec0b8bf9999cf1e97b8b630f119a0906
2019-08-12 02:55:53 +03:00
Leonid Yuriev
17407c9ecc
mdbx: add mdbx_env_info2(txn) and mdbx_env_stat2(txn).
...
Change-Id: Ifd128185a084c9dc61da140eeeaaf4b6022d3537
2019-08-12 02:55:53 +03:00
Leonid Yuriev
d6a2f98ef5
mdbx: more env-signature checks.
...
Change-Id: I0155821e9b03731f755e43640d8dc9e5c12acf62
2019-08-11 22:54:06 +03:00
Leonid Yuriev
a6449f36f6
mdbx-chk: more for false-positive 'wrong idl entry' fix.
...
Change-Id: I66e42a98c8f4a5c58e12adb666984fed8a70bece
2019-08-11 21:41:01 +03:00
Leonid Yuriev
69f831af0b
mdbx: refine lck-posix implementation.
2019-08-11 19:13:29 +03:00
Leonid Yuriev
036144eed4
mdbx-chk: fix false-positive 'wrong idl entry' error(s).
...
Исторически mdbx_env_info() получает информацию вне контекста
транзакции. Поэтому транзакция чтения, внутри которой проверяются записи
GC, может быть не последней. При этом в более новых транзакциях
последние страницы могут быть возвращены в пул нераспределенных с
уменьшением номера последней выделенной страницы. Тогда в проверяемом
снимке в записях GC могут быть номера страниц больше, чем возвращает
mdbx_env_info() в поле mi_last_pgno, что трактовалось в mdbx_chk как
ошибка.
Change-Id: I51ae102603e1eda77d6b6d511e2094410ab8c2c2
2019-08-11 16:49:15 +03:00
Leonid Yuriev
8917fb30bf
mdbx: make lck-wait ops breakable for linux/posix.
...
Change-Id: Ieb113f3c01bceced99b122988f93331d5619c2be
2019-08-11 12:22:41 +03:00
Leonid Yuriev
bf0e0382fc
mdbx: use O_DIRECT for db-copy.
...
Change-Id: Ib17fcdc2eba3382ed841a1e5e0a4f69f88c2491d
2019-08-11 01:14:52 +03:00
Leonid Yuriev
2b2eedbbf0
mdbx: add POSIX-2008 note to README.
...
Change-Id: Ic9972a05226d5ba11e463b002c2cc886df9b033e
2019-08-11 00:23:18 +03:00
Leonid Yuriev
bdc77df921
mdbx: fix race-with-close for lck-posix.
...
Change-Id: Ie601ebbec8cc47d26935e12a57abe991aec1cb41
2019-08-11 00:07:21 +03:00
Leonid Yuriev
673f867e3c
mdbx: minor refine Linux lck-implementation.
...
Change-Id: Ib95398f8d86eb94fc55b506066f78eda4a29f4a8
2019-08-10 23:25:17 +03:00
Leonid Yuriev
1e3637af59
mdbx-test: refine long_stochastic-script for FreeBSD compatibility.
...
Change-Id: I411b628d9381a54bebbea33a2bfde3145bdba74b
2019-08-10 23:24:31 +03:00
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
ce64c5aa37
mdbx: use OFD (open file) locks on Linux.
...
Change-Id: Id9718da28d4e367b0ff10976d2afaaf3d18122fb
2019-08-10 12:53:16 +03:00
Leonid Yuriev
a008b0b16f
mdbx: description of lck-implementation for Linux.
...
Change-Id: I8fe5f49a19e5cc61198ecd96dfe479d0e17c10a5
2019-08-09 21:36:02 +03:00
Leonid Yuriev
1798904cf4
mdbx: description of internal lck API.
...
Change-Id: Ic677ba62ca566409a44234a1c0d8b0b41158fe86
2019-08-09 21:34:19 +03:00
Leonid Yuriev
416a14fb85
Note about moving from Github.
...
The [repository was moved](https://abf.io/erthink/libmdbx ) due to illegal discriminatory blocking of access from the territory of the Russian Crimea and for sovereign crimeans.
Crimea is Russia.
Change-Id: I5a4eb6b50be2e88f4dc6658d00331954e373603a
2019-07-27 22:15:45 +03:00
Leonid Yuriev
f0fb56415c
mdbx-make: avoid multi-processing for cross-qemu (EPERM for alien shared mutex).
...
Change-Id: Ib4c75a5261d9c42c45cb972479479676e969be15
2019-07-22 01:24:04 +03:00
Leonid Yuriev
663f3f3c58
mdbx: conditionally use cacheflush() for linux < 2.6.11
...
Change-Id: Id34c67797e14f709f767bf1b687319cd2dfef874
2019-07-22 00:19:15 +03:00
Leonid Yuriev
a6bad26e1d
mdbx: rename/clarify flush_noncoherent_cpu_writeback().
...
Change-Id: I05a5df8d2a283159f449fc1e68a14d0a1861a714
2019-07-21 22:52:21 +03:00
Leonid Yuriev
f39044124e
mdbx: clarify/rework invalidate_mmap_noncoherent_cache() for MIPS.
...
Change-Id: I70c279c2ba67191c7cb93cd8875082eb9c8e58b7
2019-07-21 22:52:16 +03:00
Leonid Yuriev
cc75679214
mdbx: minor refine README.
...
Change-Id: Iec921f4d43313c86b1d5cfa8d9b736d111ab2e17
2019-07-19 06:17:12 +03:00
Leonid Yuriev
7b4f5d9c4b
mdbx: updates the README to be less ugly.
...
Change-Id: I41835f184cf9cc8ea1db0337e01449150b0b185f
2019-07-18 20:20:56 +03:00
Leonid Yuriev
6413dcc2c6
mdbx-make: refine check-fault target (minor).
...
Change-Id: Iea5adada7ae78a91833419946adacefd903fec37
2019-07-18 16:57:29 +03:00
Leonid Yuriev
0b8ac37450
mdbx: reduces number of getpid() calls for checking PID against fork().
...
PID check could be ommited:
- on Linux when madvise(MADV_DONTFORK) is available. i.e. after the fork()
mapped pages will not be available for child process.
- in Windows where fork() not available.
Change-Id: I4dd6bcb209cfc816ae3ec43825ea913d2249663c
2019-07-16 11:52:10 +03:00
Leonid Yuriev
7c7d5f4434
mdbx: made README content less ugly.
...
Change-Id: I537ab63a2d8a1cd3b84d5865f689ee53a29d4ad4
2019-07-16 03:16:25 +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
6eebac1510
mdbx: portability - drop unused mul_64x64_128().
...
Change-Id: I034778dd99242eae92e9122156639ba7329638de
2019-07-14 15:25:10 +03:00
Leonid Yuriev
814f8fe7ab
mdbx-test: portability - undefine BSD's roundup2() macro.
...
Change-Id: Ib7aa43645cabba648ed6a43bfb26a7cc365d7feb
2019-07-14 15:23:38 +03:00