shared-memory/src/SharedMemory.cpp
2019-10-31 22:31:28 +00:00

36 lines
969 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <cstdlib>
#include <cstdio>
#include "SharedMemory.h"
//Shared-Memory-Segment erstellen oder öffnen shmget()
void shared_memory_init(){
memory_id = shmget(IPC_PRIVATE, SHMMAXSIZE, IPC_CREAT | IPC_EXCL);
if(memory_id<0){
perror("Fehler bei der Erstellung des gemeinsamen Speicher");
exit(1);
}
}
//Shared-Memory-Segment id weiterreichen
int get_shared_memory_id(){
return memory_id;
}
//Ein Shared-Memory-Segment abfragen, ändern oder löschen shmctl()
void delet_shared_memory(){
memory_id = shmctl(memory_id, IPC_RMID, 0);
}
//Shared-Memory-Segment an einen Prozess anbinden (attach) shmat()
void attach_process(void *myProcess){
if(( myProcess = shmat( memory_id, (char *)0, 0 )) < (char *)0 ){
perror("Fehler beim Ankoppeln des gemeinsamen Speicher Segments");
exit(-1);
}
}
//Ein Shared-Memory-Segment loslösen shmdt()
void release_memory(){
int shmdt(void *myProcess);
}