Я пытаюсь создать объект общей памяти с 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](https://i.stack.imgur.com/kYecA.png)