2014-10-28 1 views

ответ

3

Прочитано shm_overview(7) & shm_open(3).

Если shm_open является не дан на O_CREAT флага он потерпит неудачу, если имя не существует, как open(2) делает. Если даны O_CREATиO_EXCL, он также будет терпеть неудачу, если имя существует. Говорят, в shm_open(3), что отказ может произойти с:

ENOENT попытка была сделана shm_open() имя, которое не существовало, и O_CREAT не был указан.

EEXIST Оба параметра O_CREAT и O_EXCL были указаны в shm_open(), а объект общей памяти , указанный по имени, уже существует.

В некоторых системах Linux вы можете использовать /dev/shm/, чтобы узнать о текущих сегментах разделяемой памяти POSIX.

+0

Спасибо за ответ. Это помогло. –

+0

Время, чтобы выяснить, что означает RTFM и STFW .... –

+0

Второй вопрос: как узнать, если я открыл существующую общую память, я использую O_CREATE | O_RDWR. –

Смежные вопросы