home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
DoderoG
/
C_files
/
sh_mem1.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-11-20
|
801b
|
39 lines
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#define K 1024
#define SHMkey 77
int shmid; /* ident. della memoria condivisa */
main()
{ int i, *pint;
void *ind1;
extern void *shmat();
extern cleanup();
signal (32,cleanup);
shmid=shmget (SHMkey, 12*K, 0777|IPC_CREAT );
/* IPC_CREAT per crearla se non esiste */
ind1=shmat(shmid, 0, 0);
/* posso accedere attraverso il pt. ind1 */
printf("ind1=0x%x\n",ind1);
pint= (int *) ind1;
for (i=0; i<25; i++)
*pint++=i;
pint= (int *) ind1;
*pint= 100;
/*l'altro processo aspetta qualcosa nonzero */
for (i=0; i<25; i++)
printf("posizione %d\tvalore %d\n", i, *pint++);
pause();
/* do' il tempo all'altro di partire e lavorare */
}
cleanup()
{
shmctl(shmid, IPC_RMID, 0);
exit();
}