summaryrefslogtreecommitdiff
path: root/app/relay/runner.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/relay/runner.js')
-rw-r--r--app/relay/runner.js17
1 files changed, 9 insertions, 8 deletions
diff --git a/app/relay/runner.js b/app/relay/runner.js
index a8e26af..1a72025 100644
--- a/app/relay/runner.js
+++ b/app/relay/runner.js
@@ -196,7 +196,7 @@ export function run_task_with_activity(task, module, activity, preempt, watch) {
if (interpreter.gpu && state.current_gpu_task.status !== 'IDLE') {
if (preempt) {
console.log('preempting currently running GPU task')
- terminate(state.current_gpu_task.subprocess)
+ terminate(state.current_gpu_task)
} else {
console.log('already running GPU task :(', state.current_gpu_task.pid)
return { type: 'error', error: 'task already running on gpu' }
@@ -204,7 +204,7 @@ export function run_task_with_activity(task, module, activity, preempt, watch) {
} else if (!interpreter.gpu && state.current_cpu_task.status !== 'IDLE') {
if (preempt) {
console.log('preempting currently running CPU task')
- terminate(state.current_cpu_task.subprocess)
+ terminate(state.current_cpu_task)
} else {
console.log('already running CPU task :(')
return { type: 'error', error: 'task already running on cpu' }
@@ -290,19 +290,20 @@ export function run_next_task(){
export function stop_task(task){
if (!task) return
if (state.current_cpu_task.task.uuid === task.uuid) {
- terminate(state.current_cpu_task.subprocess)
+ terminate(state.current_cpu_task)
return { status: 'ok' }
} else if (state.current_gpu_task.task.uuid === task.uuid) {
- terminate(state.current_gpu_task.subprocess)
+ terminate(state.current_gpu_task)
return { status: 'ok' }
}
return { error: 'no such task' }
}
-export function terminate(subprocess){
- if (!subprocess) {
+export function terminate(task){
+ if (!task || !task.subprocess) {
return
}
- console.log('kill pid', subprocess.pid)
- kill(subprocess.pid)
+ console.log('kill pid', task.subprocess.pid)
+ task.preempted = true
+ kill(task.subprocess.pid)
} \ No newline at end of file