diff options
author | David Robillard <d@drobilla.net> | 2023-02-09 23:41:35 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-02-13 13:38:33 -0500 |
commit | 262d4a1522c38be0588746e874159da5c7bb457d (patch) | |
tree | cc6764508391c4ff073a0aaad466026fbc578c8a /src/ring.c | |
parent | 89f9e1fcfb721a17f8043e0c6231ebe7e986e4b7 (diff) | |
download | zix-262d4a1522c38be0588746e874159da5c7bb457d.tar.gz zix-262d4a1522c38be0588746e874159da5c7bb457d.tar.bz2 zix-262d4a1522c38be0588746e874159da5c7bb457d.zip |
Improve system feature detection
Diffstat (limited to 'src/ring.c')
-rw-r--r-- | src/ring.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -9,10 +9,10 @@ #include "zix/allocator.h" #include "zix/status.h" -#if USE_MLOCK -# include <sys/mman.h> -#elif defined(_WIN32) +#if defined(_WIN32) # include <windows.h> +#elif USE_MLOCK +# include <sys/mman.h> #endif /* @@ -108,16 +108,16 @@ zix_ring_free(ZixRing* const ring) ZixStatus zix_ring_mlock(ZixRing* const ring) { -#if USE_MLOCK - return zix_errno_status_if(mlock(ring, sizeof(ZixRing)) + - mlock(ring->buf, ring->size)); - -#elif defined(_WIN32) +#if defined(_WIN32) return (VirtualLock(ring, sizeof(ZixRing)) && VirtualLock(ring->buf, ring->size)) ? ZIX_STATUS_SUCCESS : ZIX_STATUS_ERROR; +#elif USE_MLOCK + return zix_errno_status_if(mlock(ring, sizeof(ZixRing)) + + mlock(ring->buf, ring->size)); + #else return ZIX_STATUS_NOT_SUPPORTED; #endif |