Sistemas Operacionais

Chamada de Sistema: shmat()


SINÓPSE

#include < sys/types.h >
#include < sys/ipc.h >
#include < sys/shm.h >

char *shmat ( int shmid, char *shmaddr, int shmflg )

 

DESCRIÇÃO

A chamada de sistemas shmat é uma chamada relacionada com a manipulação de segmentos de memória compartilhada.

shmid indica o número ID do segmento a ser associado. shmaddr pode ser usado para especificar um endereço onde aquela associação irá ocorrer, ou o valor 0 pode ser especificado para qualquer endereço livre. Tipicamente, o 0 será especificado para esse argumento. shmflg pode ser usado para alterar a operação de shmat(). Por exemplo, se shmflg está especificado como SHM_RDONLY, a associação será do tipo somente para leitura.

shmat retorna o endereço usado para acessar o segmento de memória compartilhada. 0 é retornado se falhar.

 

EXEMPLO

Para realizar uma associação para um segmento com o ID 15:

#include < sys/types.h >
#include < sys/ipc.h >
#include < sys/shm.h >

...

int shm_id;
char *addr;

..

shm_id = 15;

...

if( ( addr = shmat( shm_id, 0, 0 ) ) == (char *)0 )
{
	perror( "shmat" );
}

 

VEJA TAMBÉM

shmdt shmget shmctl


DISPONÍVEL

AIX, Linux, Lynx, SunOS e Solaris


Para maiores informações sobre este comando, consulte a página do manual de seu sistema operacional (comando man).