#include <sensor_log.h>
#include <atomic>
+#include <memory>
+
using namespace ipc;
message::message(size_t capacity)
: m_size(0)
, m_capacity(capacity)
-, m_msg((char *)malloc(sizeof(char) * capacity))
+, m_msg(new(std::nothrow) char[sizeof(char) *capacity])
, ref_cnt(0)
{
m_header.id = sequence++;
message::message(const message &msg)
: m_size(msg.m_size)
, m_capacity(msg.m_capacity)
-, m_msg((char *)malloc(sizeof(char) * msg.m_capacity))
+, m_msg(new(std::nothrow) char[(sizeof(char) * msg.m_capacity)])
, ref_cnt(0)
{
::memcpy(&m_header, &msg.m_header, sizeof(message_header));
message::~message()
{
if (m_msg && ref_cnt == 0) {
- free(m_msg);
+ delete [] m_msg;
m_msg = NULL;
}
}