Skip to content

Commit

Permalink
src: avoid std::make_unique
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-By: Matheus Marchini <[email protected]>
  • Loading branch information
addaleax committed Apr 29, 2018
1 parent 45c7e03 commit 283a967
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
8 changes: 5 additions & 3 deletions src/inspector_agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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() {
Expand Down
4 changes: 2 additions & 2 deletions src/inspector_io.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
4 changes: 2 additions & 2 deletions src/inspector_js_api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit 283a967

Please sign in to comment.