diff options
Diffstat (limited to 'Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp')
-rw-r--r-- | Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp b/Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp index 022c72d41..218711645 100644 --- a/Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp +++ b/Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp @@ -45,7 +45,29 @@ Attachment::Attachment(int fileDescriptor) { } -void Attachment::dispose() +Attachment::Attachment(Attachment&& attachment) + : m_type(attachment.m_type) + , m_fileDescriptor(attachment.m_fileDescriptor) + , m_size(attachment.m_size) +{ + attachment.m_type = Uninitialized; + attachment.m_fileDescriptor = -1; + attachment.m_size = 0; +} + +Attachment& Attachment::operator=(Attachment&& attachment) +{ + m_type = attachment.m_type; + attachment.m_type = Uninitialized; + m_fileDescriptor = attachment.m_fileDescriptor; + attachment.m_fileDescriptor = -1; + m_size = attachment.m_size; + attachment.m_size = 0; + + return *this; +} + +Attachment::~Attachment() { if (m_fileDescriptor != -1) closeWithRetry(m_fileDescriptor); |