mdbx: разделение ignore_enosys() и ignore_enosys_and_eagain() (backport-required).

This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2025-05-17 15:40:47 +03:00
parent 759d0442d4
commit 9c1f3aa4b5
4 changed files with 23 additions and 18 deletions

View File

@@ -69,13 +69,13 @@ __cold static int lck_setup_locked(MDBX_env *env) {
return err;
#ifdef MADV_DODUMP
err = madvise(env->lck_mmap.lck, size, MADV_DODUMP) ? ignore_enosys(errno) : MDBX_SUCCESS;
err = madvise(env->lck_mmap.lck, size, MADV_DODUMP) ? ignore_enosys_and_eagain(errno) : MDBX_SUCCESS;
if (unlikely(MDBX_IS_ERROR(err)))
return err;
#endif /* MADV_DODUMP */
#ifdef MADV_WILLNEED
err = madvise(env->lck_mmap.lck, size, MADV_WILLNEED) ? ignore_enosys(errno) : MDBX_SUCCESS;
err = madvise(env->lck_mmap.lck, size, MADV_WILLNEED) ? ignore_enosys_and_eagain(errno) : MDBX_SUCCESS;
if (unlikely(MDBX_IS_ERROR(err)))
return err;
#elif defined(POSIX_MADV_WILLNEED)