Browse Source

回退 'Pull Request !8698 : added libevent pthread'

tags/v1.1.0
xsmq Gitee 5 years ago
parent
commit
8731b30bde
3 changed files with 9 additions and 34 deletions
  1. +7
    -21
      mindspore/ccsrc/ps/core/http_server.cc
  2. +1
    -9
      mindspore/ccsrc/ps/core/http_server.h
  3. +1
    -4
      mindspore/ccsrc/ps/core/tcp_server.cc

+ 7
- 21
mindspore/ccsrc/ps/core/http_server.cc View File

@@ -49,13 +49,6 @@ bool HttpServer::InitServer() {
MS_LOG(EXCEPTION) << "The http server ip:" << server_address_ << " is illegal!";
}

int result = evthread_use_pthreads();
if (result != 0) {
MS_LOG(EXCEPTION) << "Use event pthread failed!";
}

is_stop_ = false;

event_base_ = event_base_new();
MS_EXCEPTION_IF_NULL(event_base_);
event_http_ = evhttp_new(event_base_);
@@ -153,20 +146,13 @@ bool HttpServer::Start() {

void HttpServer::Stop() {
MS_LOG(INFO) << "Stop http server!";
if (!is_stop_.load()) {
int ret = event_base_loopbreak(event_base_);
if (ret != 0) {
MS_LOG(EXCEPTION) << "event base loop break failed!";
}
if (event_http_) {
evhttp_free(event_http_);
event_http_ = nullptr;
}
if (event_base_) {
event_base_free(event_base_);
event_base_ = nullptr;
}
is_stop_ = true;
if (event_http_) {
evhttp_free(event_http_);
event_http_ = nullptr;
}
if (event_base_) {
event_base_free(event_base_);
event_base_ = nullptr;
}
}



+ 1
- 9
mindspore/ccsrc/ps/core/http_server.h View File

@@ -25,7 +25,6 @@
#include <event2/keyvalq_struct.h>
#include <event2/listener.h>
#include <event2/util.h>
#include <event2/thread.h>

#include <cstdio>
#include <cstdlib>
@@ -33,7 +32,6 @@
#include <functional>
#include <memory>
#include <string>
#include <atomic>

namespace mindspore {
namespace ps {
@@ -57,12 +55,7 @@ class HttpServer {
public:
// Server address only support IPV4 now, and should be in format of "x.x.x.x"
explicit HttpServer(const std::string &address, std::uint16_t port)
: server_address_(address),
server_port_(port),
event_base_(nullptr),
event_http_(nullptr),
is_init_(false),
is_stop_(true) {}
: server_address_(address), server_port_(port), event_base_(nullptr), event_http_(nullptr), is_init_(false) {}

~HttpServer();

@@ -91,7 +84,6 @@ class HttpServer {
struct event_base *event_base_;
struct evhttp *event_http_;
bool is_init_;
std::atomic<bool> is_stop_;
};

} // namespace core


+ 1
- 4
mindspore/ccsrc/ps/core/tcp_server.cc View File

@@ -198,10 +198,7 @@ void TcpServer::ListenerCallback(struct evconnlistener *, evutil_socket_t fd, st
struct bufferevent *bev = bufferevent_socket_new(base, fd, BEV_OPT_CLOSE_ON_FREE);
if (!bev) {
MS_LOG(ERROR) << "Error constructing buffer event!";
int ret = event_base_loopbreak(base);
if (ret != 0) {
MS_LOG(EXCEPTION) << "event base loop break failed!";
}
event_base_loopbreak(base);
return;
}



Loading…
Cancel
Save