Как создать Unix Domain Socket с определенными разрешениями в C?

У меня есть простой код, например:

sockaddr_un address;
address.sun_family = AF_UNIX;
strcpy(address.sun_path, path);
unlink(path);

int fd = socket(AF_UNIX, SOCK_STREAM, 0);
bind(fd, (sockaddr*)(&address), sizeof(address));
listen(fd, 100);

я бы хотелатомарно создайте файл сокета домена Unix с определенными разрешениями, скажем:0777, В руководстве ничего не говорится о правах доступа к файлам сокетов в отношенииumask или что угодно. Даже еслиumask действительно влияет на файл сокета, тогда это не атомарный способ - в многопоточной программе.

Надеюсь, есть способ достичь своей цели без использования синхронизацииumask() звонки.

Ответы на вопрос(3)

Ваш ответ на вопрос