fix: UvHandle move semantics (#43615)
reassign the uv_handle_t of the source
This commit is contained in:
parent
0d4d752c1b
commit
8c5e7bbf6b
1 changed files with 11 additions and 2 deletions
|
@ -62,8 +62,17 @@ class UvHandle {
|
|||
UvHandle() : t_{new T} {}
|
||||
~UvHandle() { reset(); }
|
||||
|
||||
UvHandle(UvHandle&&) = default;
|
||||
UvHandle& operator=(UvHandle&&) = default;
|
||||
explicit UvHandle(UvHandle&& that) {
|
||||
t_ = that.t_;
|
||||
that.t_ = nullptr;
|
||||
}
|
||||
|
||||
UvHandle& operator=(UvHandle&& that) {
|
||||
reset();
|
||||
t_ = that.t_;
|
||||
that.t_ = nullptr;
|
||||
return *this;
|
||||
}
|
||||
|
||||
UvHandle(const UvHandle&) = delete;
|
||||
UvHandle& operator=(const UvHandle&) = delete;
|
||||
|
|
Loading…
Reference in a new issue