Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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"));
}