• Johannes Kanig's avatar
    R531-011 implement killing of tasks · 07b60cd3
    Johannes Kanig authored
    The why3server supports the "interrupt" command which removes a task.
    But until now, the server didn't actually kill any already running
    processes. This is now implemented.
    
    Background is that I plan some refactorings which may make use of the
    "interrupt" command, so I want it to work properly.
    
    This new code is untested on windows, because no client code actually
    uses the interrupt command in SPARK. But I tested that it doesn't cause
    regressions. It will be later tested by the new code I intend to write.
    
    *server-unix.c
    *server-win.c
    (overall): outsource some little code to new proc unit
    (handle_msg): actually kill processes
    
    * proc.c - new file
    (os_kill): new platform-dependent function to kill a process by pid
    (init_process_list): new function to init the process list
    (kill_processes): new function to kill processes from process list with
      a certain key
    (free_process): release memory held by a process record
    
    Change-Id: I7238578061c65883423f8ec538d79d9de3fb717b
    (cherry picked from commit b17873a181ff56abda9d09bc8d10c29ba036c019)
    07b60cd3
Makefile.in 73.5 KB