#ifndef EL__ECMASCRIPT_SPIDERMONKEY_HEARTBEAT_H #define EL__ECMASCRIPT_SPIDERMONKEY_HEARTBEAT_H #include "ecmascript/spidermonkey/util.h" #include "ecmascript/spidermonkey.h" struct heartbeat { LIST_HEAD(struct heartbeat); int ttl; /* Time to live. This value is assigned when the * script begins execution and is decremented every * second. When it reaches 0, script execution is * terminated. */ struct ecmascript_interpreter *interpreter; }; struct heartbeat *add_heartbeat(struct ecmascript_interpreter *interpreter); void done_heartbeat(struct heartbeat *hb); bool heartbeat_callback(JSContext *ctx); #endif