diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cbc49df..6bed2046 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Version 155: + +* Fix memory leak in advanced server examples + +-------------------------------------------------------------------------------- + Version 154: * Type check completion handlers diff --git a/example/advanced/server-flex/advanced_server_flex.cpp b/example/advanced/server-flex/advanced_server_flex.cpp index 8bca4ad9..2e204dee 100644 --- a/example/advanced/server-flex/advanced_server_flex.cpp +++ b/example/advanced/server-flex/advanced_server_flex.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -745,7 +746,8 @@ class http_session }; // Allocate and store the work - items_.emplace_back(new work_impl(self_, std::move(msg))); + items_.push_back( + boost::make_unique(self_, std::move(msg))); // If there was no previous work, start this one if(items_.size() == 1) diff --git a/example/advanced/server/advanced_server.cpp b/example/advanced/server/advanced_server.cpp index f8bda0d7..72ba5951 100644 --- a/example/advanced/server/advanced_server.cpp +++ b/example/advanced/server/advanced_server.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -539,7 +540,8 @@ class http_session : public std::enable_shared_from_this }; // Allocate and store the work - items_.emplace_back(new work_impl(self_, std::move(msg))); + items_.push_back( + boost::make_unique(self_, std::move(msg))); // If there was no previous work, start this one if(items_.size() == 1)