Fixed some memory leaks. Memory leak-related paranoia. Minor cleanups.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3659 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2021-09-06 20:54:44 +00:00
parent 35e0d8b68a
commit e85168ac53
7 changed files with 16 additions and 30 deletions

View File

@ -341,6 +341,7 @@ static void _task_timeoutCallback(uv_timer_t* handle) {
0,
NULL);
tf_task_report_error(timeout->_task, result);
JS_FreeValue(timeout->_task->_context, result);
tf_task_run_jobs(timeout->_task);
tf_trace_end(timeout->_task->_trace);
free(timeout);
@ -520,8 +521,10 @@ static void _forward_promise(tf_task_t* from, tf_taskstub_t* to, promiseid_t pro
JSValue error = JS_Call(from->_context, promise_then, result, 1, &then_handler);
tf_task_report_error(from, error);
JS_FreeValue(from->_context, error);
error = JS_Call(from->_context, promise_catch, result, 1, &catch_handler);
tf_task_report_error(from, error);
JS_FreeValue(from->_context, error);
tf_task_run_jobs(from);
}
@ -1045,6 +1048,7 @@ void tf_task_resolve_promise(tf_task_t* task, promiseid_t promise, JSValue value
tf_task_report_error(task, result);
JS_FreeValue(task->_context, it->values[1]);
JS_FreeValue(task->_context, it->values[2]);
JS_FreeValue(task->_context, result);
_tf_task_free_promise(task, promise);
tf_task_run_jobs(task);
} else {
@ -1060,6 +1064,7 @@ void tf_task_reject_promise(tf_task_t* task, promiseid_t promise, JSValue value)
tf_task_report_error(task, result);
JS_FreeValue(task->_context, it->values[1]);
JS_FreeValue(task->_context, it->values[2]);
JS_FreeValue(task->_context, result);
_tf_task_free_promise(task, promise);
tf_task_run_jobs(task);
}