×
Namespaces

Variants
Actions

Shared Memory Example

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: spark55 (01 Oct 2007)
Last edited: hamishwillee (16 Dec 2011)
Shared Memory Description

Example Code is as follows(code follows the steps described in the above link):

#include <sys/shm.h>
#include <string.h>
#include <pthread.h>
 
pthread_t threadid;
#define SHM_KEY 1000
 
void* ShmReadThread(void* arg)
{
int shmid = shmget(SHM_KEY, 1024, IPC_CREAT);
char* ch = (char*)shmat(shmid, 0, 0);
char name[10];
strncpy(name, ch, 3);
// name contained "abc"
shmdt(ch);
return 0;
}
 
void CreateThreadL()
{
pthread_create(&threadid,(pthread_attr_t *)NULL,ShmReadThread, NULL);
}
 
int main()
{
char* ch;
int shmid = shmget(SHM_KEY, 1024, IPC_CREAT);
int threadRetVal = 0;
if( shmid == -1)
return -1;
ch = (char*)shmat(shmid, 0, 0);
if((int)ch == -1)
{
shmctl(shmid, IPC_RMID, NULL);
return -1;
}
strcpy(ch, "abc");
CreateThreadL();
 
pthread_join(threadid, (void**)threadRetVal);
shmdt(ch);
shmctl(shmid, IPC_RMID, NULL);
return 0;
}


Links

This page was last modified on 16 December 2011, at 07:34.
79 page views in the last 30 days.