From b78257de86419ac6e443d9a88320f7c0e814d4dc Mon Sep 17 00:00:00 2001 From: mutouyun Date: Tue, 15 Jan 2019 21:42:02 +0800 Subject: [PATCH] update --- src/platform/waiter.h | 8 -------- src/waiter.cpp | 11 +++++++++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/platform/waiter.h b/src/platform/waiter.h index 1a19fba..ca50415 100644 --- a/src/platform/waiter.h +++ b/src/platform/waiter.h @@ -1,7 +1,5 @@ #pragma once -#include - #if defined(WIN64) || defined(_WIN64) || defined(__WIN64__) || \ defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || \ defined(WINCE) || defined(_WIN32_WCE) @@ -19,7 +17,6 @@ public: private: waiter_t* w_ = nullptr; waiter_t::handle_t h_ = waiter_t::invalid(); - std::string n_; public: waiter_impl() = default; @@ -40,10 +37,6 @@ public: return (w_ != nullptr) && (h_ != waiter_t::invalid()); } - char const * name() const { - return n_.c_str(); - } - bool open(char const * name) { if (w_ == nullptr) return false; close(); @@ -55,7 +48,6 @@ public: if (!valid()) return; w_->close(h_); h_ = waiter_t::invalid(); - n_.clear(); } bool wait() { diff --git a/src/waiter.cpp b/src/waiter.cpp index 5a7a90c..6ad643c 100644 --- a/src/waiter.cpp +++ b/src/waiter.cpp @@ -9,6 +9,8 @@ namespace ipc { class waiter::waiter_ : public pimpl { public: + std::string n_; + detail::waiter_impl w_ { new detail::waiter }; ~waiter_() { delete w_.waiter(); } }; @@ -45,15 +47,20 @@ bool waiter::valid() const { } char const * waiter::name() const { - return impl(p_)->w_.name(); + return impl(p_)->n_.c_str(); } bool waiter::open(char const * name) { - return impl(p_)->w_.open(name); + if (impl(p_)->w_.open(name)) { + impl(p_)->n_ = name; + return true; + } + return false; } void waiter::close() { impl(p_)->w_.close(); + impl(p_)->n_.clear(); } bool waiter::wait() {