@@ -178,7 +178,8 @@ The hook will be called with the session file and the new set of breakpoint loca
178178  ; ; The result of initialize request. It holds the server capabilities.
179179  (initialize-result nil )
180180  (error-message nil )
181-   (loaded-sources nil ))
181+   (loaded-sources nil )
182+   (program-proc))
182183
183184(cl-defstruct  dap--parser
184185  (waiting-for-response nil )
@@ -581,7 +582,10 @@ thread exection but the server will log message."
581582  (interactive  (list  (dap--cur-active-session-or-die)))
582583  (dap--send-message (dap--make-request " disconnect" 
583584                                        (list  :restart  :json-false ))
584-                      (dap--resp-handler)
585+                      (lambda  (result )
586+                        (when-let  (proc (dap--debug-session-program-proc session))
587+                          (lsp--info " Killing process %s" 
588+                          (kill-process  proc)))
585589                     session)
586590  (dap--resume-application session))
587591
@@ -1156,18 +1160,23 @@ before starting the debug process."
11561160                   :wait-for-port  :type  :request  :port 
11571161                   :environment-variables  :hostName  host) launch-args)
11581162          (session-name (dap--calculate-unique-name name (dap--get-sessions)))
1159-           (default-directory  (or  cwd default-directory)))
1163+           (default-directory  (or  cwd default-directory))
1164+           program-process)
11601165    (mapc  (-lambda ((env .  value)) (setenv  env value)) environment-variables)
11611166    (plist-put  launch-args :name  session-name)
11621167
11631168    (when  program-to-start
1164-       (compilation-start  program-to-start 'dap-server-log-mode 
1165-                          (lambda  (_ ) (concat  " *" "  server log*" 
1169+ 
1170+       (setf  program-process
1171+             (get-buffer-process 
1172+              (compilation-start  program-to-start 'dap-server-log-mode 
1173+                                 (lambda  (_ ) (concat  " *" "  server log*" 
11661174    (when  wait-for-port
11671175      (dap--wait-for-port host port dap-connect-retry-count dap-connect-retry-interval))
11681176
11691177    (unless  skip-debug-session
11701178      (let  ((debug-session (dap--create-session launch-args)))
1179+         (setf  (dap--debug-session-program-proc debug-session) program-process)
11711180        (dap--send-message
11721181         (dap--initialize-message type)
11731182         (dap--session-init-resp-handler
0 commit comments