diff options
Diffstat (limited to 'app/relay/runner.js')
| -rw-r--r-- | app/relay/runner.js | 17 |
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 |
