Skip to content
Permalink
Browse files

src: avoid `std::make_unique`

Work around nodejs/build#1254, which
effectively breaks stress test CI and CITGM, by avoiding
`std::make_unique` for now.

This workaround should be reverted once that issue is resolved.

Refs: nodejs/build#1254

PR-URL: #20386
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
  • Loading branch information...
addaleax committed Apr 28, 2018
1 parent 45c7e03 commit 283a967e356311a467113eea450a81827d43c969
Showing with 9 additions and 7 deletions.
  1. +5 −3 src/inspector_agent.cc
  2. +2 −2 src/inspector_io.cc
  3. +2 −2 src/inspector_js_api.cc
@@ -367,8 +367,9 @@ class NodeInspectorClient : public V8InspectorClient {
int connectFrontend(std::unique_ptr<InspectorSessionDelegate> delegate) {
events_dispatched_ = true;
int session_id = next_session_id_++;
channels_[session_id] =
std::make_unique<ChannelImpl>(client_, std::move(delegate));
// TODO(addaleax): Revert back to using make_unique once we get issues
// with CI resolved (i.e. revert the patch that added this comment).
channels_[session_id].reset(new ChannelImpl(client_, std::move(delegate)));
return session_id;
}

@@ -569,7 +570,8 @@ void Agent::Stop() {
std::unique_ptr<InspectorSession> Agent::Connect(
std::unique_ptr<InspectorSessionDelegate> delegate) {
int session_id = client_->connectFrontend(std::move(delegate));
return std::make_unique<InspectorSession>(session_id, client_);
return std::unique_ptr<InspectorSession>(
new InspectorSession(session_id, client_));
}

void Agent::WaitForDisconnect() {
@@ -357,8 +357,8 @@ std::vector<std::string> InspectorIo::GetTargetIds() const {
TransportAction InspectorIo::Attach(int session_id) {
Agent* agent = parent_env_->inspector_agent();
fprintf(stderr, "Debugger attached.\n");
sessions_[session_id] =
agent->Connect(std::make_unique<IoSessionDelegate>(this, session_id));
sessions_[session_id] = agent->Connect(std::unique_ptr<IoSessionDelegate>(
new IoSessionDelegate(this, session_id)));
return TransportAction::kAcceptSession;
}

@@ -66,8 +66,8 @@ class JSBindingsConnection : public AsyncWrap {
callback_(env->isolate(), callback) {
Wrap(wrap, this);
Agent* inspector = env->inspector_agent();
session_ = inspector->Connect(
std::make_unique<JSBindingsSessionDelegate>(env, this));
session_ = inspector->Connect(std::unique_ptr<JSBindingsSessionDelegate>(
new JSBindingsSessionDelegate(env, this)));
}

void OnMessage(Local<Value> value) {

0 comments on commit 283a967

Please sign in to comment.
You can’t perform that action at this time.