summaryrefslogtreecommitdiff
path: root/Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp')
-rw-r--r--Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp24
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);