<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/129283>129283</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[lldb-dap] lldb-dap server mode management improvements
</td>
</tr>
<tr>
<th>Labels</th>
<td>
lldb-dap
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ashgti
</td>
</tr>
</table>
<pre>
Filing this to circle back to improving the lldb-dap server mode management from the VSCode extension.
Some ideas that are not set in stone:
* The server could shut itself down if the process gets a low memory warning and there are no active clients.
* The server could have an idle timeout and shutdown if there are not active clients after some configurable period.
* The extension could alert the user to unexpected crashes or exits.
* The extension could have commands to manually start / stop the server.
* We could run one server per host instead of the default behavior of one per-window. Its possible to spawn the server in a different process group than the extension host process and advertise the connection parameters in a different way (e.g. the server can use a unix socket and place the socket in `~/.lldb-dap-sock` then if the socket file exists we could use it across extension hosts).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEVM2O4zYMfhrlQsRwlDhxDj5MuwjQ8xbtmZYoW11ZMkQ6mbn02Qs5PzsdoOgpifTp-yEZIrMfIlGnml9U822Di4wpd8jjIH7TJ_vRXXzwcQAZPYMkMD6bQNCj-VF--mnO6XoHEIRg-63FGZjylTJMyRJMGHGgiaKAy2lagX98_7Vc0btQZJ9ipeo3Vb99TxOBt4QMMqIAZoKYBJgEfASWFEnt3-5gpd_g95GeWiYtwQKPi4AXpuDAplsE71bBOSdDzDCQMCCEdIOJppQ_4IY5Fv8YbUFmeqgCGvFXAhM8ReHqvxRHvBJgBG8DgfiJ0iIrWbHyycKLWL4wAzqhDFyymxSdH5aMfSCYKftkPwu_6vXQxkBZ1nwLUy79WCK9z2SELJiMPBJDykDv_t8JvhKtIUyaJox2bfOEccEQPoAFs4DSl1L9edW6x3_S_UkPjrxESPFVnZkyjIlL41gILaR7Jyw5XIJATyNefcrlvDybKW9vPtp0q-A3YZgTsy9lkAQ84y1-0i7DgGC9c5TLXL26m9NSPOId_DPlauSJKs1Be6UsnmkFmhQjGSnIGTNOJJT5q8gNP0Dplqqh-mzFYCzVB4Ql-nfgZH7QfQDmgObO_zj0EdSx_lvpS_X8p2zLlTrWBfYa1gfc-VAyeBaG27PKRcqXEcqJ-UtCVvpc2rKx3d6e92fcULc7HerTsa3b3WbsXOuca7Bu0RzbxtVt05yI7JGc3bXt4bTxna51U2vd7trDTu-qXjfu5I6tbfSZ7N6oQ00T-lCFcJ2qlIeNZ16o2-mzbvebgD0FXreJ1s-MSuuyW3JX3mz7ZWB1qEOJ9ZNFvIR1C70eNd_-d53cl8_6nTdLDt0oMnNZEPqi9GXwMi59ZdKk9KUoPT62c05_kRGlL6t5Vvry8H_t9D8BAAD__1GUxh8">