summaryrefslogtreecommitdiffstats
path: root/llgo/cmd
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2018-06-05 09:34:46 +0000
committerSam McCall <sam.mccall@gmail.com>2018-06-05 09:34:46 +0000
commit27a07cf84fc3cde3acfa8d0eb5162a124e081c88 (patch)
tree60b63b5b1a2ea58760d64248c8fce559c7ea03a4 /llgo/cmd
parent8d1421d3170612be9fddca80776d7003ef4f3d0e (diff)
downloadbcm5719-llvm-27a07cf84fc3cde3acfa8d0eb5162a124e081c88.tar.gz
bcm5719-llvm-27a07cf84fc3cde3acfa8d0eb5162a124e081c88.zip
[clangd] Rewrite JSON dispatcher loop using C IO (FILE*) instead of std::istream.
Summary: The EINTR loop around getline was added to fix an issue with mac gdb, but seems to loop infinitely in rare cases on linux where the parent editor exits (most reports with VSCode). I can't work out how to fix this in a portable way with std::istream, but the C APIs have clearer contracts and LLVM has a RetryAfterSignal function for use with them which seems battle-tested. While here, clean up some inconsistency around \n in log messages (now add it only after JSON payloads), and reduce the scope of the long-message handling which was only really added to fight fuzzers. Reviewers: malaperle, ilya-biryukov Subscribers: klimek, ioeric, jkorous, cfe-commits Differential Revision: https://reviews.llvm.org/D47643 llvm-svn: 333993
Diffstat (limited to 'llgo/cmd')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud