0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-11-10 02:38:42 +00:00

Merge remote-tracking branch 'rosmo/dispose-isolate'

This commit is contained in:
Stefan Siegl 2014-08-10 22:13:47 +02:00
commit 133ad4a7b5
2 changed files with 8 additions and 0 deletions

View File

@ -647,6 +647,9 @@ static void php_v8js_free_storage(void *object TSRMLS_DC) /* {{{ */
}
c->weak_closures.~map();
v8::Isolate *isolate = c->isolate;
isolate->Dispose();
if(c->tz != NULL) {
free(c->tz);
}
@ -748,6 +751,10 @@ static int _php_v8js_create_ext_strarr(const char ***retval, int count, HashTabl
static void php_v8js_fatal_error_handler(const char *location, const char *message) /* {{{ */
{
v8::Isolate *isolate = v8::Isolate::GetCurrent();
if (isolate) {
isolate->Exit();
}
if (location) {
zend_error(E_ERROR, "%s %s", location, message);
} else {

View File

@ -195,6 +195,7 @@ static void php_v8js_call_php_func(zval *value, zend_class_entry *ce, zend_funct
isolate->Enter();
if (V8JSG(fatal_error_abort)) {
isolate->Exit();
v8::V8::TerminateExecution(isolate);
info.GetReturnValue().Set(V8JS_NULL);
return;