The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

vm_map_stack (9)
  • >> vm_map_stack (9) ( FreeBSD man: Ядро )

  • BSD mandoc
     

    NAME

    
    
    vm_map_stack
    
     
    vm_map_growstack
    
     - manage process stacks
    
     
    

    SYNOPSIS

       #include <sys/param.h>
       #include <vm/vm.h>
       #include <vm/vm_map.h>
    int Fo vm_map_stack Fa vm_map_t map vm_offset_t addrbos vm_size_t max_ssize vm_prot_t prot Fa vm_prot_t max int cow Fc Ft int vm_map_growstack (struct proc *p vm_offset_t addr);
     

    DESCRIPTION

    The vm_map_stack ();
    function maps a process stack for a new process image. The stack is mapped Fa addrbos in Fa map , with a maximum size of Fa max_ssize . Copy-on-write flags passed in Fa cow are also applied to the new mapping. Protection bits are supplied by Fa prot and Fa max .

    It is typically called by execve(2).

    The vm_map_growstack ();
    function is responsible for growing a stack for the process Fa p to the desired address Fa addr , similar to the legacy sbrk(2) call.  

    IMPLEMENTATION NOTES

    The vm_map_stack ();
    function calls vm_map_insert9 to create its mappings.

    The vm_map_growstack ();
    function acquires the Giant lock, and the process lock on Fa p , for the duration of the call.  

    RETURN VALUES

    The vm_map_stack ();
    function returns KERN_SUCCESS if the mapping was allocated successfully.

    Otherwise, if mapping the stack would exceed the process's VMEM resource limit, or if the specified bottom-of-stack address is out of range for the map, or if there is already a mapping at the address which would result, or if Fa max_ssize could not be accommodated within the current mapping, KERN_NO_SPACE is returned.

    Other possible return values for this function are documented in vm_map_insert9.

    The vm_map_growstack ();
    function returns KERN_SUCCESS if Fa addr is already mapped, or if the stack was grown successfully.

    It also returns KERN_SUCCESS if Fa addr is outside the stack range; this is done in order to preserve compatibility with the deprecated grow ();
    function previously located in the file vm_machdep.c  

    SEE ALSO

    vm_map9, vm_map_insert9  

    AUTHORS

    This manual page was written by An Bruce M Simpson Aq bms@spc.org .


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    IMPLEMENTATION NOTES
    RETURN VALUES
    SEE ALSO
    AUTHORS


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру