alloc

Синтаксис

union SIGNAL *alloc (OSBUFSIZE size, SIGSELECT signo);

Описание

Выделяет буфер сигнала заданного размера из пула, доступного вызывающему блоку. Заданный signo (номер сигнала) помещается в начало нового буфера. Другой номер сигнала может быть позже назначен буферу простой записью нового номера в начало буфера.
Максимальный размер буфера задаётся величиной sizeof(OSBUFSIZE). Это значит, что если sizeof(OSBUFSIZE) возвращает 2, то максимально доступный размер буфера равняется 65536 (2(sizeof(OSBUFSIZE)*8)).
Это правило может иногда не срабатывать, так как максимальный размер буфера может быть установлен в меньшее значение при создании пула. Минимальный размер буфера - один байт.

Параметры

  • size запрашиваемый размер буфера
  • signo номер сигнала, который будет помещён в выделяемый буфер

Возвращаемое значение

Возвращает указатель на новый буфер

Ограничения

Новый буфер принадлежит вызывающему процессу. Новый владелец может быть установлен только использованием одного из системных вызовов, работающих с буфером. По правде говоря, неправильно передавать управление буфером другому процессу любым другим способом так как буферы могут быть потеряны в случае преждевременного уничтожения процесса.
(пропущено про системный вызов restore)
(пропущено про get_pcb)

См. также

You: Guest
You permissions: Read
elflib/functions/alloc.txt · Последние изменения: 30/03/2015 00:00 (внешнее изменение)
Total pages: 365
RSS on Mobilefree Wiki www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Valid XHTML 1.0
© 2005-2018 supertrubka.org