Skip to content

Commit

Permalink
vm: remove Watchdog dependency on Environment
Browse files Browse the repository at this point in the history
Remove the Watchdog class' dependency on Environment.
No functional changes, only code cleanup.

PR-URL: #3274
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
  • Loading branch information
Ido Ben-Yair authored and rvagg committed Oct 21, 2015
1 parent d5ce534 commit 6936468
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 11 deletions.
2 changes: 1 addition & 1 deletion src/node_contextify.cc
Original file line number Diff line number Diff line change
Expand Up @@ -693,7 +693,7 @@ class ContextifyScript : public BaseObject {

Local<Value> result;
if (timeout != -1) {
Watchdog wd(env, timeout);
Watchdog wd(env->isolate(), timeout);
result = script->Run();
} else {
result = script->Run();
Expand Down
9 changes: 4 additions & 5 deletions src/node_watchdog.cc
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
#include "node_watchdog.h"
#include "env.h"
#include "env-inl.h"
#include "util.h"
#include "util-inl.h"

namespace node {

using v8::V8;


Watchdog::Watchdog(Environment* env, uint64_t ms) : env_(env),
destroyed_(false) {
Watchdog::Watchdog(v8::Isolate* isolate, uint64_t ms) : isolate_(isolate),
destroyed_(false) {
int rc;
loop_ = new uv_loop_t;
CHECK(loop_);
Expand Down Expand Up @@ -84,7 +83,7 @@ void Watchdog::Async(uv_async_t* async) {
void Watchdog::Timer(uv_timer_t* timer) {
Watchdog* w = ContainerOf(&Watchdog::timer_, timer);
uv_stop(w->loop_);
V8::TerminateExecution(w->env()->isolate());
V8::TerminateExecution(w->isolate());
}


Expand Down
8 changes: 3 additions & 5 deletions src/node_watchdog.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,16 @@
#include "v8.h"
#include "uv.h"

#include "env.h"

namespace node {

class Watchdog {
public:
explicit Watchdog(Environment* env, uint64_t ms);
explicit Watchdog(v8::Isolate* isolate, uint64_t ms);
~Watchdog();

void Dispose();

inline Environment* env() const { return env_; }
v8::Isolate* isolate() { return isolate_; }

private:
void Destroy();
Expand All @@ -24,7 +22,7 @@ class Watchdog {
static void Async(uv_async_t* async);
static void Timer(uv_timer_t* timer);

Environment* env_;
v8::Isolate* isolate_;
uv_thread_t thread_;
uv_loop_t* loop_;
uv_async_t async_;
Expand Down

0 comments on commit 6936468

Please sign in to comment.