Multi-threads vs multi-processes mode


I’m curious about the pros and cons behind the threading model of clangd. Now clangd runs workers in separate threads that might be good from resource management perspectives but it hurts stability. If a crash happens or OOM on a source file, clangd process dies with all workers. I tried to find a discussion about this decision but I haven’t found anything. If it was discussed, could you please give links to the discussion? If it was not discussed yet, does anyone know why using separate processes for workers might be definitely a bad idea?