Anna Henningsen
8 years ago
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9
3 changed files with
2 additions and
40 deletions
-
src/env-inl.h
-
src/env.h
-
src/node.cc
|
|
@ -194,26 +194,6 @@ inline Environment::AsyncHooks::InitScope::~InitScope() { |
|
|
|
env_->async_hooks()->pop_ids(uid_fields_ref_[AsyncHooks::kCurrentAsyncId]); |
|
|
|
} |
|
|
|
|
|
|
|
inline Environment::AsyncHooks::ExecScope::ExecScope( |
|
|
|
Environment* env, double async_id, double trigger_id) |
|
|
|
: env_(env), |
|
|
|
async_id_(async_id), |
|
|
|
disposed_(false) { |
|
|
|
CHECK_GE(async_id, -1); |
|
|
|
CHECK_GE(trigger_id, -1); |
|
|
|
env->async_hooks()->push_ids(async_id, trigger_id); |
|
|
|
} |
|
|
|
|
|
|
|
inline Environment::AsyncHooks::ExecScope::~ExecScope() { |
|
|
|
if (disposed_) return; |
|
|
|
Dispose(); |
|
|
|
} |
|
|
|
|
|
|
|
inline void Environment::AsyncHooks::ExecScope::Dispose() { |
|
|
|
disposed_ = true; |
|
|
|
env_->async_hooks()->pop_ids(async_id_); |
|
|
|
} |
|
|
|
|
|
|
|
inline Environment::AsyncCallbackScope::AsyncCallbackScope(Environment* env) |
|
|
|
: env_(env) { |
|
|
|
env_->makecallback_cntr_++; |
|
|
|
|
|
@ -421,25 +421,6 @@ class Environment { |
|
|
|
DISALLOW_COPY_AND_ASSIGN(InitScope); |
|
|
|
}; |
|
|
|
|
|
|
|
// Used to manage the stack of async and trigger ids as calls are made into
|
|
|
|
// JS. Mainly used in MakeCallback().
|
|
|
|
class ExecScope { |
|
|
|
public: |
|
|
|
ExecScope() = delete; |
|
|
|
explicit ExecScope(Environment* env, double async_id, double trigger_id); |
|
|
|
~ExecScope(); |
|
|
|
void Dispose(); |
|
|
|
|
|
|
|
private: |
|
|
|
Environment* env_; |
|
|
|
double async_id_; |
|
|
|
// Manually track if the destructor has run so it isn't accidentally run
|
|
|
|
// twice on RAII cleanup.
|
|
|
|
bool disposed_; |
|
|
|
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(ExecScope); |
|
|
|
}; |
|
|
|
|
|
|
|
private: |
|
|
|
friend class Environment; // So we can call the constructor.
|
|
|
|
inline explicit AsyncHooks(v8::Isolate* isolate); |
|
|
|
|
|
@ -4692,8 +4692,9 @@ inline int Start(Isolate* isolate, IsolateData* isolate_data, |
|
|
|
|
|
|
|
{ |
|
|
|
Environment::AsyncCallbackScope callback_scope(&env); |
|
|
|
Environment::AsyncHooks::ExecScope exec_scope(&env, 1, 0); |
|
|
|
env.async_hooks()->push_ids(1, 0); |
|
|
|
LoadEnvironment(&env); |
|
|
|
env.async_hooks()->pop_ids(1); |
|
|
|
} |
|
|
|
|
|
|
|
env.set_trace_sync_io(trace_sync_io); |
|
|
|