mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-26 09:31:59 +00:00
Better shutdown
This commit is contained in:
parent
13728a0fae
commit
96a23bc573
@ -334,20 +334,12 @@ void LaunchStdoutThread(std::unordered_map<IpcId, Timer>* request_times,
|
||||
}
|
||||
|
||||
if (g_log_stdin_stdout_to_stderr) {
|
||||
try {
|
||||
std::cerr << "[COUT] |" << message.content << "|\n";
|
||||
std::cerr.flush();
|
||||
} catch (std::ios_base::failure&) {
|
||||
// TODO Ignore for now
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
std::cout << message.content;
|
||||
std::cout.flush();
|
||||
} catch (std::ios_base::failure&) {
|
||||
// TODO Ignore for now
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -107,13 +107,6 @@ TEST_SUITE("FindIncludeLine") {
|
||||
}
|
||||
|
||||
optional<char> ReadCharFromStdinBlocking() {
|
||||
// Bad stdin means parent process has probably exited. Either way, cquery
|
||||
// can no longer be communicated with so just exit.
|
||||
if (!std::cin.good()) {
|
||||
LOG_S(FATAL) << "std::cin.good() is false; exiting";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
char c = 0;
|
||||
std::cin.read(&c, 1);
|
||||
return c;
|
||||
|
@ -6,7 +6,7 @@ struct Ipc_Shutdown : public IpcMessage<Ipc_Shutdown> {
|
||||
static const IpcId kIpcId = IpcId::Shutdown;
|
||||
lsRequestId id;
|
||||
};
|
||||
MAKE_REFLECT_EMPTY_STRUCT(Ipc_Shutdown, id);
|
||||
MAKE_REFLECT_STRUCT(Ipc_Shutdown, id);
|
||||
REGISTER_IPC_MESSAGE(Ipc_Shutdown);
|
||||
|
||||
struct Out_Shutdown : public lsOutMessage<Out_Shutdown> {
|
||||
|
@ -349,6 +349,8 @@ optional<lsRange> GetLsRange(WorkingFile* working_file, const Range& location) {
|
||||
// class/struct definitions.
|
||||
if (*end < *start)
|
||||
*end = *start + (location.end.line - location.start.line);
|
||||
if (*start == *end && start_column > end_column)
|
||||
end_column = start_column;
|
||||
|
||||
return lsRange(lsPosition(*start, start_column),
|
||||
lsPosition(*end, end_column));
|
||||
|
Loading…
Reference in New Issue
Block a user