On Sun,  5 Jul 2020 14:46:28 +0300, Fady Bader wrote:
[snip]
>  /* populate the mempool with an anonymous mapping */
> @@ -740,20 +741,20 @@ rte_mempool_populate_anon(struct rte_mempool *mp)
>       }
>  
>       /* get chunk of virtually continuous memory */
> -     addr = mmap(NULL, size, PROT_READ | PROT_WRITE,
> -             MAP_SHARED | MAP_ANONYMOUS, -1, 0);
> -     if (addr == MAP_FAILED) {
> +     addr = rte_mem_map(NULL, size, RTE_PROT_READ | RTE_PROT_WRITE,
> +             RTE_MAP_SHARED | RTE_MAP_ANONYMOUS, -1, 0);
> +     if (addr == NULL) {
>               rte_errno = errno;

rte_errno is set by rte_mem_map(), using errno here is incorrect on Windows.

>               return 0;
>       }
>       /* can't use MMAP_LOCKED, it does not exist on BSD */
> -     if (mlock(addr, size) < 0) {
> +     if (rte_mem_lock(addr, size) < 0) {
>               rte_errno = errno;

Ditto.

[snip]

-- 
Dmitry Kozlyuk

Reply via email to