ACE Tutorial 020
Sharing your Memories with persistence
The mmap.h where we define stuff that needs to be shared between the
apps at compile-time.
mmap.h
// page05.html,v 1.7 2000/11/27 17:56:44 othman Exp
#ifndef MMAP_H
#define MMAP_H
// The expected filename for ACE_Shared_Memory_MM.h
#include "ace/Shared_Memory_MM.h"
// Just enough for the alphabet...
#define SHMSZ 27
/*
Here we use a real filename instead of an arbitrary number. This
actually will exist in the filesystem. You can 'cat' it and
everything!
*/
#define SHM_KEY "mmapfile"
/*
The SV Shared Memory SharedData object returns. It is identical to
the one we used in that tutorial. I didn't even change the name.
*/
class SharedData
{
public:
SharedData (int initialize = 1);
void set (void);
void show (void);
int available (void);
void available (int not_in_use);
protected:
char buf_[128];
int available_;
};
#endif /* MMAP_H */
mmap.cpp
// page05.html,v 1.7 2000/11/27 17:56:44 othman Exp
#include "mmap.h"
#include "ace/Log_Msg.h"
SharedData::SharedData(int _initialize)
: available_(0)
{
if( _initialize )
{
ACE_OS::sprintf(buf_,"UNSET\n");
}
}
void SharedData::set(void)
{
ACE_OS::sprintf(buf_,"My PID is (%d)\n",ACE_OS::getpid());
}
void SharedData::show(void)
{
ACE_DEBUG ((LM_INFO, "(%P|%t) Shared Data text is (%s)\n",
buf_ ));
}
int SharedData::available(void)
{
return available_;
}
void SharedData::available(int _available)
{
available_ = _available;
}
[Tutorial Index] [Continue This Tutorial]