В разрешении shm_open () отказано даже со всеми флагами - PullRequest
1 голос
/ 05 мая 2019

Я пытаюсь создать объект общей памяти с shm_open, но получаю сообщение об ошибке отказа в доступе. Этого не происходило, пока я вручную не удалил /shm в /dev, а затем снова переделал. (Может ли это быть проблемой? Мне нужно установить разрешение для новой папки shm, которую я создал?)

В любом случае вот код:

#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void make_shm()
{
    int fd;
    fd = shm_open("NEW_FS", O_CREAT|O_RDWR, S_IRWXU|S_IRWXG|S_IRWXO);
    if (fd == -1) {
        perror("error when making shared mem object\n.");
    }
}

int main(int argc, char *argv[]) {
    make_shm();
}

И вот ошибка, которую я получаю в IDE:

enter image description here

...