add stop thread functionality
Algunos comentarios:
- En un primer momento se intento hacer toda la funcionalidad pero una vez todo implementado, me estaba tirando de los pelos para arreglar este error:
12: Function stop_program_threads/2 has no local return
apps/automate_rest_api/src/automate_rest_api_backend.erl
149: Function stop_program_threads/2 has no local return
apps/automate_rest_api/src/automate_rest_api_program_stop.erl
79: Function accept_thread_program_stop/2 has no local return
apps/automate_storage/src/automate_storage.erl
436: Function get_threads_from_program/1 has no local return
437: Record construction #running_program_thread_entry{thread_id::'$1',runner_pid::'_',parent_program_id::'$2',instructions::'_',memory::'_',instruction_memory::'_',position::'_',stats::'_'} violates the declared type of field thread_id::binary() and runner_pid::'undefined' | pid() and parent_program_id::binary() and instructions::[any()] and memory::map() and instruction_memory::map() and position::[pos_integer()]
-
Desesperado por lo poco explicito que son los mensajes de error en erlang decidí leer código de la solución para encontrar una operación similar hasta que apareció la función mágica que permite borrar programas, la cual borra los hilos de dicho programa, ante lo cual quede perplejo y atonito ya que la funcionalidad ya se encontraba desarrollada.
-
Por otro lado en cuanto a la interfaz, cuando se paran los programas, botón que se ha quedado al lado de start por quedar más atractivo, se muestra una bonita notificación indicando que los hilos de los programas se han detenido. (Cualquier cambio tanto en la disposición como en los mensajes puede ser cambiado a criterio del mergeador)
Edited by Adrián