ProcessChannel.cpp 503 B

12345678910111213141516171819202122
  1. #include "ProcessChannel.h"
  2. namespace Atomic
  3. {
  4. ProcessChannel::ProcessChannel(Context *context, Mode mode, const String& name, unsigned size, bool server) :
  5. Object(context),
  6. size_(size),
  7. mode_(mode)
  8. {
  9. shared_ = new Poco::SharedMemory(name.CString(), size, mode == WRITE ? Poco::SharedMemory::AM_WRITE : Poco::SharedMemory::AM_READ, 0, server);
  10. buffer_ = new MemoryBuffer(shared_->begin(), size);
  11. }
  12. ProcessChannel::~ProcessChannel()
  13. {
  14. delete buffer_;
  15. delete shared_;
  16. }
  17. }