Skip to content
Snippets Groups Projects
Commit b9b8ea2d authored by Craig Tiller's avatar Craig Tiller
Browse files

Merge branch 'mmm-mmm-mmm-mmm' of github.com:ctiller/grpc into mmm-mmm-mmm-mmm

parents 4caf6302 abc30518
No related branches found
No related tags found
No related merge requests found
...@@ -275,14 +275,14 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, ...@@ -275,14 +275,14 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag,
gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset));
memset(&ret, 0, sizeof(ret)); memset(&ret, 0, sizeof(ret));
ret.type = GRPC_QUEUE_TIMEOUT; ret.type = GRPC_QUEUE_TIMEOUT;
GRPC_SURFACE_TRACE_RETURNED_EVENT(cc, &ev->base); GRPC_SURFACE_TRACE_RETURNED_EVENT(cc, &ret);
return ret; return ret;
} }
} }
gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset));
ret = ev->base; ret = ev->base;
gpr_free(ev); gpr_free(ev);
GRPC_SURFACE_TRACE_RETURNED_EVENT(cc, &ev->base); GRPC_SURFACE_TRACE_RETURNED_EVENT(cc, &ret);
return ret; return ret;
} }
......
...@@ -73,15 +73,17 @@ class CrashTest : public ::testing::Test { ...@@ -73,15 +73,17 @@ class CrashTest : public ::testing::Test {
protected: protected:
CrashTest() {} CrashTest() {}
std::unique_ptr<grpc::cpp::test::util::TestService::Stub> CreateServerAndStub() { std::unique_ptr<grpc::cpp::test::util::TestService::Stub>
CreateServerAndStub() {
auto port = grpc_pick_unused_port_or_die(); auto port = grpc_pick_unused_port_or_die();
auto addr = (std::ostringstream() << "localhost:" << port).str(); auto addr = (std::ostringstream() << "localhost:" << port).str();
server_.reset(new SubProcess({ server_.reset(new SubProcess({
(std::ostringstream() << g_root << "/crash_test_server").str(), (std::ostringstream() << g_root << "/crash_test_server").str(),
(std::ostringstream() << "--address=" << addr).str(), (std::ostringstream() << "--address=" << addr).str(),
})); }));
GPR_ASSERT(server_); GPR_ASSERT(server_);
return grpc::cpp::test::util::TestService::NewStub(CreateChannel(addr, InsecureCredentials(), ChannelArguments())); return grpc::cpp::test::util::TestService::NewStub(
CreateChannel(addr, InsecureCredentials(), ChannelArguments()));
} }
void KillServer() { void KillServer() {
......
...@@ -83,7 +83,6 @@ void RunServer() { ...@@ -83,7 +83,6 @@ void RunServer() {
std::cout << "Server listening on " << FLAGS_address << std::endl; std::cout << "Server listening on " << FLAGS_address << std::endl;
server->Wait(); server->Wait();
} }
} }
} }
......
...@@ -40,27 +40,20 @@ ...@@ -40,27 +40,20 @@
namespace grpc { namespace grpc {
static gpr_subprocess *MakeProcess(std::initializer_list<std::string> args) { static gpr_subprocess *MakeProcess(std::initializer_list<std::string> args) {
std::vector<const char *> vargs; std::vector<const char *> vargs;
for (auto it = args.begin(); it != args.end(); ++it) { for (auto it = args.begin(); it != args.end(); ++it) {
vargs.push_back(it->c_str()); vargs.push_back(it->c_str());
} }
return gpr_subprocess_create(vargs.size(), &vargs[0]); return gpr_subprocess_create(vargs.size(), &vargs[0]);
} }
SubProcess::SubProcess(std::initializer_list<std::string> args) SubProcess::SubProcess(std::initializer_list<std::string> args)
: subprocess_(MakeProcess(args)) { : subprocess_(MakeProcess(args)) {}
}
SubProcess::~SubProcess() { SubProcess::~SubProcess() { gpr_subprocess_destroy(subprocess_); }
gpr_subprocess_destroy(subprocess_);
}
int SubProcess::Join() { int SubProcess::Join() { return gpr_subprocess_join(subprocess_); }
return gpr_subprocess_join(subprocess_);
}
void SubProcess::Interrupt() { void SubProcess::Interrupt() { gpr_subprocess_interrupt(subprocess_); }
gpr_subprocess_interrupt(subprocess_);
}
} // namespace grpc } // namespace grpc
\ No newline at end of file
...@@ -43,17 +43,17 @@ namespace grpc { ...@@ -43,17 +43,17 @@ namespace grpc {
class SubProcess { class SubProcess {
public: public:
SubProcess(std::initializer_list<std::string> args); SubProcess(std::initializer_list<std::string> args);
~SubProcess(); ~SubProcess();
int Join(); int Join();
void Interrupt(); void Interrupt();
private: private:
SubProcess(const SubProcess& other); SubProcess(const SubProcess& other);
SubProcess& operator=(const SubProcess& other); SubProcess& operator=(const SubProcess& other);
gpr_subprocess *const subprocess_; gpr_subprocess* const subprocess_;
}; };
} // namespace grpc } // namespace grpc
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment