aboutsummaryrefslogtreecommitdiff
path: root/computer-network-experiment/ReadWriteLock.h
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-08 20:37:49 +0800
committercrupest <crupest@outlook.com>2021-06-08 20:37:49 +0800
commitbb58e97582c936eed6cf02d7a5b8bba9ae4b2223 (patch)
treeb17e78690f4bb0a50303bcca139d754ad952819b /computer-network-experiment/ReadWriteLock.h
parentbb0bf92282a107e1e292ef7da84ad6468bed083c (diff)
downloadlife-bb58e97582c936eed6cf02d7a5b8bba9ae4b2223.tar.gz
life-bb58e97582c936eed6cf02d7a5b8bba9ae4b2223.tar.bz2
life-bb58e97582c936eed6cf02d7a5b8bba9ae4b2223.zip
...
Diffstat (limited to 'computer-network-experiment/ReadWriteLock.h')
-rw-r--r--computer-network-experiment/ReadWriteLock.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/computer-network-experiment/ReadWriteLock.h b/computer-network-experiment/ReadWriteLock.h
index c9889da..ee40ac0 100644
--- a/computer-network-experiment/ReadWriteLock.h
+++ b/computer-network-experiment/ReadWriteLock.h
@@ -6,10 +6,12 @@
#ifdef WIN32
#include <Windows.h>
#else
+#include <pthread.h>
#endif
namespace cru {
class ReadWriteLock {
+ friend void swap(ReadWriteLock &left, ReadWriteLock &right);
public:
ReadWriteLock();
@@ -35,6 +37,9 @@ private:
#ifdef WIN32
std::unique_ptr<SRWLOCK> lock_;
#else
+ std::unique_ptr<pthread_rwlock_t> lock_;
#endif
};
+
+void swap(ReadWriteLock &left, ReadWriteLock &right);
} // namespace cru