Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Хостинг + Certum Commercial SSL и домен в подарок

VPS: SSD, KVM, бесплатные бэкапы и администрирование 24/7

Бесплатный перенос сайта + подарки к новоселью

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

SHMOP(2)

НАЗВАНИЕ
shmop - операции над разделяемыми сегментами памяти

СИНТАКСИС


        #include <sys/types.h>

        #include <sys/ipc.h>

        #include <sys/shm.h>

        

        char *shmat (shmid, shmaddr, shmflg)

        int shmid;

        char *shmaddr;

        int shmflg;

        

        int shmdt (shmaddr)

        char *shmaddr;

ОПИСАНИЕ
Присоединение сегмента
Системный вызов shmat (см. СЮРПРИЗЫ) присоединяет разделяемый сегмент памяти, ассоциированный с идентификатором shmid, к сегменту данных вызывающего процесса. Сегмент присоединяется по адресу, заданному одним из следующих способов:

  1. Если значение аргумента shmaddr равно нулю, то сегмент присоединяется по адресу, выбранному системой.
  2. Если значение аргумента shmaddr не равно нулю и выражение (shmflg & SHM_RND) истинно, то сегмент просоединяется по адресу, вычисляемому по формуле (shmaddr - (shmaddr mod SHMLBA)) [см. intro(2)].
  3. Если значение аргумента shmaddr не равно нулю и выражение (shmflg & SHM_RND) ложно, то сегмент присоединяется по адресу, задаваемому аргументом shmaddr.

Отсоединение сегмента
Системный вызов shmdt отсоединяет разделяемый сегмент памяти, расположенный по адресу shmaddr, от сегмента данных вызывающего процесса.

Если выражение (shmflg & SHM_RDONLY) истинно, то сегмент присоединяется для чтения {требуется право на чтение}, в противном случае сегмент присоединяется для чтения и записи {требуется право на чтение и запись}.

Системный вызов shmat завершается неудачей и разделяемый сегмент не присоединяется, если выполнено хотя бы одно из следующих условий:

[EINVAL]
Значение аргумента shmid не является корректным идентификатором разделяемого сегмента.
[EACCES]
У вызывающего процесса нет прав на выполнение операции [см. intro(2)].
[ENOMEM]
В сегменте данных нет места для присоединения разделяемого сегмента.
[EINVAL]
Значение аргумента shmaddr не равно нулю и значение выражения (shmaddr-(shmaddr mod SHMLBA)) не является корректным адресом.
[EINVAL]
Значение аргумента shmaddr не равно нулю, выражение (shmflg & SHM_RND) ложно и значение аргумента shmaddr не является корректным адресом.
[EMFILE]
Количество разделяемых сегментов, присоединенных к вызывающему процессу, превышает максимально допустимую величину.

Системный вызов shmdt завершается неудачей и разделяемый сегмент не отсоединяется, если:

[EINVAL]
Значение аргумента shmaddr не является начальным адресом разделяемого сегмента.

СМ. ТАКЖЕ
exec(2), exit(2), fork(2), intro(2), shmctl(2), shmget(2).

ДИАГНОСТИКА
При успешном завершении системного вызова shmat возвращается начальный адрес присоединенного сегмента.

При успешном завершении системного вызова shmdt результат равен 0.

В случае ошибки возвращается -1, а переменной errno присваивается код ошибки.

ПРИМЕЧАНИЯ
Необходимо явно удалять разделяемый сегмент памяти после того, как удаляется последняя ссылка на него.

СЮРПРИЗЫ
В данной реализации результат системного вызова shmat имеет тип int, а не char *.

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

Последние комментарии:

МВД России переходит на Linux (3)
Понедельник 17.02, 02:01

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...