Skip to content

Commit aac7cdc

Browse files
committed
re-enable global message handling synchronization
1 parent f9b9ad6 commit aac7cdc

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

Diff for: handler/handler.go

+4-8
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ func (handler *InoHandler) HandleMessageFromIDE(ctx context.Context, conn *jsonr
105105
"textDocument/didClose": true,
106106
}
107107
if needsWriteLock[req.Method] {
108-
// handler.synchronizer.DataMux.Lock()
109-
// defer handler.synchronizer.DataMux.Unlock()
108+
handler.synchronizer.DataMux.Lock()
109+
defer handler.synchronizer.DataMux.Unlock()
110110
} else {
111-
// handler.synchronizer.DataMux.RLock()
112-
// defer handler.synchronizer.DataMux.RUnlock()
111+
handler.synchronizer.DataMux.RLock()
112+
defer handler.synchronizer.DataMux.RUnlock()
113113
}
114114

115115
// Handle LSP methods: transform parameters and send to clangd
@@ -125,18 +125,14 @@ func (handler *InoHandler) HandleMessageFromIDE(ctx context.Context, conn *jsonr
125125
switch p := params.(type) {
126126
case *lsp.InitializeParams:
127127
// method "initialize"
128-
handler.synchronizer.DataMux.RLock()
129128
err = handler.initializeWorkbench(ctx, p)
130-
handler.synchronizer.DataMux.RUnlock()
131129

132130
case *lsp.DidOpenTextDocumentParams:
133131
// method "textDocument/didOpen"
134132
uri = p.TextDocument.URI
135133
log.Printf("--> didOpen(%s@%d as '%s')", p.TextDocument.URI, p.TextDocument.Version, p.TextDocument.LanguageID)
136134

137-
handler.synchronizer.DataMux.Lock()
138135
res, err := handler.didOpen(ctx, p)
139-
handler.synchronizer.DataMux.Unlock()
140136

141137
if res == nil {
142138
log.Println(" --X notification is not propagated to clangd")

0 commit comments

Comments
 (0)