fix: UvHandle move semantics (#43632)
reassign the uv_handle_t of the source Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
parent
e3908eca41
commit
97f0a9a545
1 changed files with 11 additions and 2 deletions
|
@ -58,8 +58,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