data: indexer processes
* TaskBuildIndex starts seperate indexer processes and communicates via shared memory * indexer processes get restarted if they fail * indexer processes are killed when the app closes or crashes * added utility class SharedMemory to allocate and access shared memory, providing basic data structures * added SharedMemoryGarbageCollector for keeping track of running instances and cleaning up shared memory in case of a crash * show errors for source files that crashed during indexing * added basic exception handling to task scheduling * added option to turn off processes and use threads in preferences, but still use shared memory fortune cookie message = Good news from someone dear is coming soon.
This commit is contained in:
@@ -25,6 +25,18 @@ std::string IndexerCommandJava::getKindString() const
|
||||
return getIndexerKindString();
|
||||
}
|
||||
|
||||
size_t IndexerCommandJava::getByteSize() const
|
||||
{
|
||||
size_t size = IndexerCommand::getByteSize() + sizeof(*this);
|
||||
|
||||
for (auto i : m_classPath)
|
||||
{
|
||||
size += i.str().size();
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
std::vector<FilePath> IndexerCommandJava::getClassPath() const
|
||||
{
|
||||
return m_classPath;
|
||||
|
||||
@@ -20,7 +20,8 @@ public:
|
||||
const std::vector<FilePath>& classPath);
|
||||
virtual ~IndexerCommandJava();
|
||||
|
||||
std::string getKindString() const override;
|
||||
virtual std::string getKindString() const override;
|
||||
virtual size_t getByteSize() const override;
|
||||
|
||||
std::vector<FilePath> getClassPath() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user