27 #include <utils/ipc/shm.h>
28 #include <utils/ipc/shm_exceptions.h>
37 #define MAGIC_TOKEN "FawkesShmemQAApp"
48 QASharedMemoryHeader(
unsigned int type)
56 QASharedMemoryHeader *qs =
new QASharedMemoryHeader(header.type);
63 const QASharedMemoryHeader *qs =
dynamic_cast<const QASharedMemoryHeader *
>(&s);
64 return (qs && (header.type == qs->header.type));
70 return (memcmp(memptr, &header,
sizeof(qashmem_header_t)) == 0);
76 return sizeof(qashmem_header_t);
86 initialize(
void *memptr)
88 memcpy(memptr, (
char *)&header,
sizeof(qashmem_header_t));
94 memcpy((
char *)&header, memptr,
sizeof(qashmem_header_t));
109 qashmem_header_t header;
115 signal_handler(
int signum)
121 main(
int argc,
char **argv)
124 signal(SIGINT, signal_handler);
126 QASharedMemoryHeader *h1 =
new QASharedMemoryHeader(1);
150 int *m1 = (
int *)s1->
memptr();
151 int *m2 = (
int *)s2->
memptr();
157 std::cout <<
"Wrote " << *m1 <<
" (should be " << i <<
") to b1, afterwards b2 reads: " << *m2