diff options
author | crupest <crupest@outlook.com> | 2021-06-08 20:37:49 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-06-08 20:37:49 +0800 |
commit | 266d3e262d46225ec08bd5034c26631200442f45 (patch) | |
tree | 09f1dd515d8440b1bf7cbb732a7a26c81a93cab3 /works/life/computer-network-experiment/ReadWriteLock.h | |
parent | a84887356487a4fcbd57a90f3ce17914ea8bdd0a (diff) | |
download | crupest-266d3e262d46225ec08bd5034c26631200442f45.tar.gz crupest-266d3e262d46225ec08bd5034c26631200442f45.tar.bz2 crupest-266d3e262d46225ec08bd5034c26631200442f45.zip |
import(life): ...
Diffstat (limited to 'works/life/computer-network-experiment/ReadWriteLock.h')
-rw-r--r-- | works/life/computer-network-experiment/ReadWriteLock.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/works/life/computer-network-experiment/ReadWriteLock.h b/works/life/computer-network-experiment/ReadWriteLock.h index c9889da..ee40ac0 100644 --- a/works/life/computer-network-experiment/ReadWriteLock.h +++ b/works/life/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
|