int main (int, char *[]) { ACE_Shared_Memory_MM shm_server (SHM_KEY, sizeof(SharedData) ); char *shm = (char *) shm_server.malloc (); ACE_DEBUG ((LM_INFO, "(%P|%t) Memory Mapped file is at 0x%x\n", shm )); SharedData * sd = new(shm) SharedData; sd->set(); sd->available(0); while ( ! sd->available() ) ACE_OS::sleep (1); sd->show(); if (shm_server.remove () < 0) ACE_ERROR ((LM_ERROR, "%p\n", "remove")); return 0; }
static void server (void) { ACE_Shared_Memory_SV shm_server (SHM_KEY, SHMSZ, ACE_Shared_Memory_SV::ACE_CREATE); char *shm = (char *) shm_server.malloc (); char *s = shm; for (char c = 'a'; c <= 'z'; c++) *s++ = c; *s = '\0'; while (*shm != '*') ACE_OS::sleep (1); if (shm_server.remove () < 0) ACE_ERROR ((LM_ERROR, "%p\n", "remove")); }